Add initial migrations
I was putting this off during initial development so that experiments and toying around with models would not be saved in the history, especially if rebuilding the entire database was required. Now that the models are in a more stable place, we can start tracking migrations. Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
This commit is contained in:
335
board/migrations/0001_initial.py
Normal file
335
board/migrations/0001_initial.py
Normal file
@@ -0,0 +1,335 @@
|
|||||||
|
# Generated by Django 4.1b1 on 2022-07-18 02:50
|
||||||
|
|
||||||
|
import board.models
|
||||||
|
import colorfield.fields
|
||||||
|
import datetime
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
initial = True
|
||||||
|
|
||||||
|
dependencies = []
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name="Board",
|
||||||
|
fields=[
|
||||||
|
(
|
||||||
|
"id",
|
||||||
|
models.BigAutoField(
|
||||||
|
auto_created=True,
|
||||||
|
primary_key=True,
|
||||||
|
serialize=False,
|
||||||
|
verbose_name="ID",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
("url", models.CharField(max_length=255, unique=True)),
|
||||||
|
("name", models.CharField(max_length=255)),
|
||||||
|
("max_pages", models.IntegerField(default=10)),
|
||||||
|
("threads_per_page", models.IntegerField(default=10)),
|
||||||
|
(
|
||||||
|
"post_cooldown",
|
||||||
|
models.DurationField(default=datetime.timedelta(seconds=60)),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"report_cooldown",
|
||||||
|
models.DurationField(default=datetime.timedelta(seconds=15)),
|
||||||
|
),
|
||||||
|
("autosink", models.IntegerField(default=300)),
|
||||||
|
("readonly", models.BooleanField(default=False)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name="Capcode",
|
||||||
|
fields=[
|
||||||
|
(
|
||||||
|
"id",
|
||||||
|
models.BigAutoField(
|
||||||
|
auto_created=True,
|
||||||
|
primary_key=True,
|
||||||
|
serialize=False,
|
||||||
|
verbose_name="ID",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
("suffix", models.CharField(max_length=100)),
|
||||||
|
(
|
||||||
|
"color",
|
||||||
|
colorfield.fields.ColorField(
|
||||||
|
default="#FFFFFF", image_field=None, max_length=18, samples=None
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
"permissions": (("use_capcode", "Can use capcode"),),
|
||||||
|
},
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name="NewsPost",
|
||||||
|
fields=[
|
||||||
|
(
|
||||||
|
"id",
|
||||||
|
models.BigAutoField(
|
||||||
|
auto_created=True,
|
||||||
|
primary_key=True,
|
||||||
|
serialize=False,
|
||||||
|
verbose_name="ID",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
("created", models.DateTimeField(auto_now_add=True)),
|
||||||
|
("title", models.CharField(max_length=300)),
|
||||||
|
("author", models.CharField(blank=True, max_length=100)),
|
||||||
|
("body", models.TextField(blank=True)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name="Post",
|
||||||
|
fields=[
|
||||||
|
(
|
||||||
|
"id",
|
||||||
|
models.BigAutoField(
|
||||||
|
auto_created=True,
|
||||||
|
primary_key=True,
|
||||||
|
serialize=False,
|
||||||
|
verbose_name="ID",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
("name", models.CharField(blank=True, max_length=255, null=True)),
|
||||||
|
("subject", models.CharField(blank=True, max_length=255, null=True)),
|
||||||
|
("text", models.TextField(blank=True, max_length=2000)),
|
||||||
|
("ip", models.GenericIPAddressField()),
|
||||||
|
("sticky", models.BooleanField(blank=True, default=False)),
|
||||||
|
("lock", models.BooleanField(blank=True, default=False)),
|
||||||
|
("created", models.DateTimeField(auto_now_add=True)),
|
||||||
|
("last_bump", models.DateTimeField(auto_now_add=True)),
|
||||||
|
(
|
||||||
|
"image",
|
||||||
|
models.ImageField(
|
||||||
|
blank=True,
|
||||||
|
height_field="image_height",
|
||||||
|
null=True,
|
||||||
|
upload_to=board.models.image_upload,
|
||||||
|
width_field="image_width",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
("bump", models.BooleanField(default=True)),
|
||||||
|
(
|
||||||
|
"thumbnail",
|
||||||
|
models.ImageField(
|
||||||
|
editable=False, null=True, upload_to=board.models.thumbs_upload
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"original_image_name",
|
||||||
|
models.CharField(blank=True, max_length=255, null=True),
|
||||||
|
),
|
||||||
|
("image_width", models.IntegerField(blank=True, null=True)),
|
||||||
|
("image_height", models.IntegerField(blank=True, null=True)),
|
||||||
|
("user_token", models.CharField(max_length=30, null=True)),
|
||||||
|
(
|
||||||
|
"board",
|
||||||
|
models.ForeignKey(
|
||||||
|
on_delete=django.db.models.deletion.CASCADE, to="board.board"
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"capcode",
|
||||||
|
models.ForeignKey(
|
||||||
|
blank=True,
|
||||||
|
null=True,
|
||||||
|
on_delete=django.db.models.deletion.SET_NULL,
|
||||||
|
to="board.capcode",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"op",
|
||||||
|
models.ForeignKey(
|
||||||
|
null=True,
|
||||||
|
on_delete=django.db.models.deletion.CASCADE,
|
||||||
|
related_name="replies",
|
||||||
|
to="board.post",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
"permissions": [
|
||||||
|
("set_sticky", "Can sticky post"),
|
||||||
|
("set_bump", "Can bumplock post"),
|
||||||
|
("set_lock", "Can lock post"),
|
||||||
|
("wipe_user", "Can wipe all posts by a user"),
|
||||||
|
],
|
||||||
|
},
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name="ReportRecord",
|
||||||
|
fields=[
|
||||||
|
(
|
||||||
|
"id",
|
||||||
|
models.BigAutoField(
|
||||||
|
auto_created=True,
|
||||||
|
primary_key=True,
|
||||||
|
serialize=False,
|
||||||
|
verbose_name="ID",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
("weight", models.IntegerField(default=0)),
|
||||||
|
("urgent", models.BooleanField(default=False)),
|
||||||
|
(
|
||||||
|
"post",
|
||||||
|
models.OneToOneField(
|
||||||
|
on_delete=django.db.models.deletion.CASCADE, to="board.post"
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name="ReportReason",
|
||||||
|
fields=[
|
||||||
|
(
|
||||||
|
"id",
|
||||||
|
models.BigAutoField(
|
||||||
|
auto_created=True,
|
||||||
|
primary_key=True,
|
||||||
|
serialize=False,
|
||||||
|
verbose_name="ID",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
("reason", models.CharField(max_length=255)),
|
||||||
|
("weight", models.IntegerField(default=1)),
|
||||||
|
("urgent", models.BooleanField(default=False)),
|
||||||
|
(
|
||||||
|
"board",
|
||||||
|
models.ForeignKey(
|
||||||
|
blank=True,
|
||||||
|
null=True,
|
||||||
|
on_delete=django.db.models.deletion.CASCADE,
|
||||||
|
to="board.board",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name="RangeBan",
|
||||||
|
fields=[
|
||||||
|
(
|
||||||
|
"id",
|
||||||
|
models.BigAutoField(
|
||||||
|
auto_created=True,
|
||||||
|
primary_key=True,
|
||||||
|
serialize=False,
|
||||||
|
verbose_name="ID",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
("ban_reason", models.TextField()),
|
||||||
|
("created", models.DateTimeField(auto_now_add=True)),
|
||||||
|
("expires", models.DateTimeField(blank=True, null=True)),
|
||||||
|
("post_id", models.IntegerField(blank=True, null=True)),
|
||||||
|
("start", models.GenericIPAddressField()),
|
||||||
|
("end", models.GenericIPAddressField()),
|
||||||
|
(
|
||||||
|
"board",
|
||||||
|
models.ForeignKey(
|
||||||
|
blank=True,
|
||||||
|
null=True,
|
||||||
|
on_delete=django.db.models.deletion.CASCADE,
|
||||||
|
to="board.board",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
"abstract": False,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name="BanTemplate",
|
||||||
|
fields=[
|
||||||
|
(
|
||||||
|
"id",
|
||||||
|
models.BigAutoField(
|
||||||
|
auto_created=True,
|
||||||
|
primary_key=True,
|
||||||
|
serialize=False,
|
||||||
|
verbose_name="ID",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
("name", models.CharField(max_length=100)),
|
||||||
|
("ban_reason", models.TextField()),
|
||||||
|
("duration", models.IntegerField(blank=True, null=True)),
|
||||||
|
(
|
||||||
|
"board",
|
||||||
|
models.ForeignKey(
|
||||||
|
blank=True,
|
||||||
|
null=True,
|
||||||
|
on_delete=django.db.models.deletion.CASCADE,
|
||||||
|
to="board.board",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name="Ban",
|
||||||
|
fields=[
|
||||||
|
(
|
||||||
|
"id",
|
||||||
|
models.BigAutoField(
|
||||||
|
auto_created=True,
|
||||||
|
primary_key=True,
|
||||||
|
serialize=False,
|
||||||
|
verbose_name="ID",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
("ban_reason", models.TextField()),
|
||||||
|
("created", models.DateTimeField(auto_now_add=True)),
|
||||||
|
("expires", models.DateTimeField(blank=True, null=True)),
|
||||||
|
("post_id", models.IntegerField(blank=True, null=True)),
|
||||||
|
("ip", models.GenericIPAddressField()),
|
||||||
|
(
|
||||||
|
"board",
|
||||||
|
models.ForeignKey(
|
||||||
|
blank=True,
|
||||||
|
null=True,
|
||||||
|
on_delete=django.db.models.deletion.CASCADE,
|
||||||
|
to="board.board",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
"abstract": False,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name="Report",
|
||||||
|
fields=[
|
||||||
|
(
|
||||||
|
"id",
|
||||||
|
models.BigAutoField(
|
||||||
|
auto_created=True,
|
||||||
|
primary_key=True,
|
||||||
|
serialize=False,
|
||||||
|
verbose_name="ID",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
("ip", models.GenericIPAddressField()),
|
||||||
|
("created", models.DateTimeField(auto_now_add=True)),
|
||||||
|
(
|
||||||
|
"reason",
|
||||||
|
models.ForeignKey(
|
||||||
|
on_delete=django.db.models.deletion.CASCADE,
|
||||||
|
to="board.reportreason",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"record",
|
||||||
|
models.ForeignKey(
|
||||||
|
on_delete=django.db.models.deletion.CASCADE,
|
||||||
|
to="board.reportrecord",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
"unique_together": {("record", "ip")},
|
||||||
|
},
|
||||||
|
),
|
||||||
|
]
|
||||||
Reference in New Issue
Block a user