aboutsummaryrefslogtreecommitdiff
path: root/server/szurubooru/migrations
diff options
context:
space:
mode:
authorrr-2016-04-22 18:36:12 +0200
committerrr-2016-04-22 18:36:12 +0200
commit14059de1d7393bcac019d28b4783ba12ebe62f39 (patch)
tree524b1841a6a8b26f52637abdd729400a1d1b70e0 /server/szurubooru/migrations
parenta67a5069b71b51e49b27e2310ca1bcda6441ffe7 (diff)
server/db: add more post tables
Diffstat (limited to 'server/szurubooru/migrations')
-rw-r--r--server/szurubooru/migrations/versions/9587de88a84b_create_aux_post_tables.py59
1 files changed, 59 insertions, 0 deletions
diff --git a/server/szurubooru/migrations/versions/9587de88a84b_create_aux_post_tables.py b/server/szurubooru/migrations/versions/9587de88a84b_create_aux_post_tables.py
new file mode 100644
index 0000000..983ea94
--- /dev/null
+++ b/server/szurubooru/migrations/versions/9587de88a84b_create_aux_post_tables.py
@@ -0,0 +1,59 @@
+'''
+Create auxilliary post tables
+
+Revision ID: 9587de88a84b
+Created at: 2016-04-22 17:42:57.697229
+'''
+
+import sqlalchemy as sa
+from alembic import op
+
+revision = '9587de88a84b'
+down_revision = '46cd5229839b'
+branch_labels = None
+depends_on = None
+
+def upgrade():
+ op.create_table(
+ 'post_favorite',
+ sa.Column('post_id', sa.Integer(), nullable=False),
+ sa.Column('user_id', sa.Integer(), nullable=False),
+ sa.Column('time', sa.DateTime(), nullable=False),
+ sa.ForeignKeyConstraint(['post_id'], ['post.id']),
+ sa.ForeignKeyConstraint(['user_id'], ['user.id']),
+ sa.PrimaryKeyConstraint('post_id', 'user_id'))
+
+ op.create_table(
+ 'post_feature',
+ sa.Column('id', sa.Integer(), nullable=False),
+ sa.Column('post_id', sa.Integer(), nullable=False),
+ sa.Column('user_id', sa.Integer(), nullable=False),
+ sa.Column('time', sa.DateTime(), nullable=False),
+ sa.ForeignKeyConstraint(['post_id'], ['post.id']),
+ sa.ForeignKeyConstraint(['user_id'], ['user.id']),
+ sa.PrimaryKeyConstraint('id'))
+
+ op.create_table(
+ 'post_note',
+ sa.Column('id', sa.Integer(), nullable=False),
+ sa.Column('post_id', sa.Integer(), nullable=False),
+ sa.Column('text', sa.PickleType(), nullable=False),
+ sa.Column('polygon', sa.Text(), nullable=False),
+ sa.ForeignKeyConstraint(['post_id'], ['post.id']),
+ sa.PrimaryKeyConstraint('id'))
+
+ op.create_table(
+ 'post_score',
+ sa.Column('post_id', sa.Integer(), nullable=False),
+ sa.Column('user_id', sa.Integer(), nullable=False),
+ sa.Column('time', sa.DateTime(), nullable=False),
+ sa.Column('score', sa.Integer(), nullable=False),
+ sa.ForeignKeyConstraint(['post_id'], ['post.id']),
+ sa.ForeignKeyConstraint(['user_id'], ['user.id']),
+ sa.PrimaryKeyConstraint('post_id', 'user_id'))
+
+def downgrade():
+ op.drop_table('post_score')
+ op.drop_table('post_note')
+ op.drop_table('post_feature')
+ op.drop_table('post_favorite')

© 2015 - 2026 Jakob L. Kreuze