FossilRepo

fossilrepo / fossil / migrations / 0001_initial.py
Blame History Raw 364 lines
1
# Generated by Django 5.2.12 on 2026-04-06 02:07
2
3
import django.db.models.deletion
4
import simple_history.models
5
from django.conf import settings
6
from django.db import migrations, models
7
8
9
class Migration(migrations.Migration):
10
initial = True
11
12
dependencies = [
13
("projects", "0001_initial"),
14
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
15
]
16
17
operations = [
18
migrations.CreateModel(
19
name="FossilRepository",
20
fields=[
21
(
22
"id",
23
models.BigAutoField(
24
auto_created=True,
25
primary_key=True,
26
serialize=False,
27
verbose_name="ID",
28
),
29
),
30
("version", models.PositiveIntegerField(default=1, editable=False)),
31
("created_at", models.DateTimeField(auto_now_add=True)),
32
("updated_at", models.DateTimeField(auto_now=True)),
33
("deleted_at", models.DateTimeField(blank=True, null=True)),
34
(
35
"filename",
36
models.CharField(
37
help_text="Filename relative to FOSSIL_DATA_DIR",
38
max_length=255,
39
unique=True,
40
),
41
),
42
("file_size_bytes", models.BigIntegerField(default=0)),
43
(
44
"fossil_project_code",
45
models.CharField(blank=True, default="", max_length=40),
46
),
47
("last_checkin_at", models.DateTimeField(blank=True, null=True)),
48
("checkin_count", models.PositiveIntegerField(default=0)),
49
("s3_key", models.CharField(blank=True, default="", max_length=500)),
50
("s3_last_replicated_at", models.DateTimeField(blank=True, null=True)),
51
(
52
"created_by",
53
models.ForeignKey(
54
blank=True,
55
null=True,
56
on_delete=django.db.models.deletion.SET_NULL,
57
related_name="+",
58
to=settings.AUTH_USER_MODEL,
59
),
60
),
61
(
62
"deleted_by",
63
models.ForeignKey(
64
blank=True,
65
null=True,
66
on_delete=django.db.models.deletion.SET_NULL,
67
related_name="+",
68
to=settings.AUTH_USER_MODEL,
69
),
70
),
71
(
72
"project",
73
models.OneToOneField(
74
on_delete=django.db.models.deletion.CASCADE,
75
related_name="fossil_repo",
76
to="projects.project",
77
),
78
),
79
(
80
"updated_by",
81
models.ForeignKey(
82
blank=True,
83
null=True,
84
on_delete=django.db.models.deletion.SET_NULL,
85
related_name="+",
86
to=settings.AUTH_USER_MODEL,
87
),
88
),
89
],
90
options={
91
"verbose_name": "Fossil Repository",
92
"verbose_name_plural": "Fossil Repositories",
93
"ordering": ["filename"],
94
},
95
),
96
migrations.CreateModel(
97
name="FossilSnapshot",
98
fields=[
99
(
100
"id",
101
models.BigAutoField(
102
auto_created=True,
103
primary_key=True,
104
serialize=False,
105
verbose_name="ID",
106
),
107
),
108
("version", models.PositiveIntegerField(default=1, editable=False)),
109
("created_at", models.DateTimeField(auto_now_add=True)),
110
("updated_at", models.DateTimeField(auto_now=True)),
111
("deleted_at", models.DateTimeField(blank=True, null=True)),
112
("file", models.FileField(upload_to="fossil_snapshots/%Y/%m/")),
113
("file_size_bytes", models.BigIntegerField(default=0)),
114
(
115
"fossil_hash",
116
models.CharField(
117
blank=True,
118
default="",
119
help_text="SHA-256 of the .fossil file",
120
max_length=64,
121
),
122
),
123
("note", models.CharField(blank=True, default="", max_length=200)),
124
(
125
"created_by",
126
models.ForeignKey(
127
blank=True,
128
null=True,
129
on_delete=django.db.models.deletion.SET_NULL,
130
related_name="+",
131
to=settings.AUTH_USER_MODEL,
132
),
133
),
134
(
135
"deleted_by",
136
models.ForeignKey(
137
blank=True,
138
null=True,
139
on_delete=django.db.models.deletion.SET_NULL,
140
related_name="+",
141
to=settings.AUTH_USER_MODEL,
142
),
143
),
144
(
145
"repository",
146
models.ForeignKey(
147
on_delete=django.db.models.deletion.CASCADE,
148
related_name="snapshots",
149
to="fossil.fossilrepository",
150
),
151
),
152
(
153
"updated_by",
154
models.ForeignKey(
155
blank=True,
156
null=True,
157
on_delete=django.db.models.deletion.SET_NULL,
158
related_name="+",
159
to=settings.AUTH_USER_MODEL,
160
),
161
),
162
],
163
options={
164
"ordering": ["-created_at"],
165
"get_latest_by": "created_at",
166
},
167
),
168
migrations.CreateModel(
169
name="HistoricalFossilRepository",
170
fields=[
171
(
172
"id",
173
models.BigIntegerField(auto_created=True, blank=True, db_index=True, verbose_name="ID"),
174
),
175
("version", models.PositiveIntegerField(default=1, editable=False)),
176
("created_at", models.DateTimeField(blank=True, editable=False)),
177
("updated_at", models.DateTimeField(blank=True, editable=False)),
178
("deleted_at", models.DateTimeField(blank=True, null=True)),
179
(
180
"filename",
181
models.CharField(
182
db_index=True,
183
help_text="Filename relative to FOSSIL_DATA_DIR",
184
max_length=255,
185
),
186
),
187
("file_size_bytes", models.BigIntegerField(default=0)),
188
(
189
"fossil_project_code",
190
models.CharField(blank=True, default="", max_length=40),
191
),
192
("last_checkin_at", models.DateTimeField(blank=True, null=True)),
193
("checkin_count", models.PositiveIntegerField(default=0)),
194
("s3_key", models.CharField(blank=True, default="", max_length=500)),
195
("s3_last_replicated_at", models.DateTimeField(blank=True, null=True)),
196
("history_id", models.AutoField(primary_key=True, serialize=False)),
197
("history_date", models.DateTimeField(db_index=True)),
198
("history_change_reason", models.CharField(max_length=100, null=True)),
199
(
200
"history_type",
201
models.CharField(
202
choices=[("+", "Created"), ("~", "Changed"), ("-", "Deleted")],
203
max_length=1,
204
),
205
),
206
(
207
"created_by",
208
models.ForeignKey(
209
blank=True,
210
db_constraint=False,
211
null=True,
212
on_delete=django.db.models.deletion.DO_NOTHING,
213
related_name="+",
214
to=settings.AUTH_USER_MODEL,
215
),
216
),
217
(
218
"deleted_by",
219
models.ForeignKey(
220
blank=True,
221
db_constraint=False,
222
null=True,
223
on_delete=django.db.models.deletion.DO_NOTHING,
224
related_name="+",
225
to=settings.AUTH_USER_MODEL,
226
),
227
),
228
(
229
"history_user",
230
models.ForeignKey(
231
null=True,
232
on_delete=django.db.models.deletion.SET_NULL,
233
related_name="+",
234
to=settings.AUTH_USER_MODEL,
235
),
236
),
237
(
238
"project",
239
models.ForeignKey(
240
blank=True,
241
db_constraint=False,
242
null=True,
243
on_delete=django.db.models.deletion.DO_NOTHING,
244
related_name="+",
245
to="projects.project",
246
),
247
),
248
(
249
"updated_by",
250
models.ForeignKey(
251
blank=True,
252
db_constraint=False,
253
null=True,
254
on_delete=django.db.models.deletion.DO_NOTHING,
255
related_name="+",
256
to=settings.AUTH_USER_MODEL,
257
),
258
),
259
],
260
options={
261
"verbose_name": "historical Fossil Repository",
262
"verbose_name_plural": "historical Fossil Repositories",
263
"ordering": ("-history_date", "-history_id"),
264
"get_latest_by": ("history_date", "history_id"),
265
},
266
bases=(simple_history.models.HistoricalChanges, models.Model),
267
),
268
migrations.CreateModel(
269
name="HistoricalFossilSnapshot",
270
fields=[
271
(
272
"id",
273
models.BigIntegerField(auto_created=True, blank=True, db_index=True, verbose_name="ID"),
274
),
275
("version", models.PositiveIntegerField(default=1, editable=False)),
276
("created_at", models.DateTimeField(blank=True, editable=False)),
277
("updated_at", models.DateTimeField(blank=True, editable=False)),
278
("deleted_at", models.DateTimeField(blank=True, null=True)),
279
("file", models.TextField(max_length=100)),
280
("file_size_bytes", models.BigIntegerField(default=0)),
281
(
282
"fossil_hash",
283
models.CharField(
284
blank=True,
285
default="",
286
help_text="SHA-256 of the .fossil file",
287
max_length=64,
288
),
289
),
290
("note", models.CharField(blank=True, default="", max_length=200)),
291
("history_id", models.AutoField(primary_key=True, serialize=False)),
292
("history_date", models.DateTimeField(db_index=True)),
293
("history_change_reason", models.CharField(max_length=100, null=True)),
294
(
295
"history_type",
296
models.CharField(
297
choices=[("+", "Created"), ("~", "Changed"), ("-", "Deleted")],
298
max_length=1,
299
),
300
),
301
(
302
"created_by",
303
models.ForeignKey(
304
blank=True,
305
db_constraint=False,
306
null=True,
307
on_delete=django.db.models.deletion.DO_NOTHING,
308
related_name="+",
309
to=settings.AUTH_USER_MODEL,
310
),
311
),
312
(
313
"deleted_by",
314
models.ForeignKey(
315
blank=True,
316
db_constraint=False,
317
null=True,
318
on_delete=django.db.models.deletion.DO_NOTHING,
319
related_name="+",
320
to=settings.AUTH_USER_MODEL,
321
),
322
),
323
(
324
"history_user",
325
models.ForeignKey(
326
null=True,
327
on_delete=django.db.models.deletion.SET_NULL,
328
related_name="+",
329
to=settings.AUTH_USER_MODEL,
330
),
331
),
332
(
333
"repository",
334
models.ForeignKey(
335
blank=True,
336
db_constraint=False,
337
null=True,
338
on_delete=django.db.models.deletion.DO_NOTHING,
339
related_name="+",
340
to="fossil.fossilrepository",
341
),
342
),
343
(
344
"updated_by",
345
models.ForeignKey(
346
blank=True,
347
db_constraint=False,
348
null=True,
349
on_delete=django.db.models.deletion.DO_NOTHING,
350
related_name="+",
351
to=settings.AUTH_USER_MODEL,
352
),
353
),
354
],
355
options={
356
"verbose_name": "historical fossil snapshot",
357
"verbose_name_plural": "historical fossil snapshots",
358
"ordering": ("-history_date", "-history_id"),
359
"get_latest_by": ("history_date", "history_id"),
360
},
361
bases=(simple_history.models.HistoricalChanges, models.Model),
362
),
363
]
364

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button