diff options
author | 2021-10-31 15:48:52 +0000 | |
---|---|---|
committer | 2021-12-21 19:02:14 +0000 | |
commit | 443885ecbde8c84b02349f8e3d0f26bace6a1e55 (patch) | |
tree | a926a1c0c5ca7e540f7f5949a7d5b4391242c1d3 /alembic | |
parent | Use tz-aware datetimes throughout project (diff) |
Add discord.py thread models & migration
Diffstat (limited to 'alembic')
-rw-r--r-- | alembic/versions/563a15b2a76e_add_support_for_threads.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/alembic/versions/563a15b2a76e_add_support_for_threads.py b/alembic/versions/563a15b2a76e_add_support_for_threads.py new file mode 100644 index 0000000..6f21e92 --- /dev/null +++ b/alembic/versions/563a15b2a76e_add_support_for_threads.py @@ -0,0 +1,47 @@ +"""Add support for threads + +Revision ID: 563a15b2a76e +Revises: d6c9452c3940 +Create Date: 2021-10-31 14:46:49.926646 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '563a15b2a76e' +down_revision = 'd6c9452c3940' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table( + 'threads', + sa.Column('id', sa.String(), nullable=False), + sa.Column('parent_channel_id', sa.String(), nullable=False), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('name', sa.String(), nullable=False), + sa.Column('archived', sa.Boolean(), nullable=False), + sa.Column('auto_archive_duration', sa.Integer(), nullable=False), + sa.Column('locked', sa.Boolean(), nullable=False), + sa.Column('type', sa.String(), nullable=False), + sa.ForeignKeyConstraint(['parent_channel_id'], ['channels.id'], ondelete='CASCADE'), + sa.PrimaryKeyConstraint('id') + ) + op.add_column('messages', sa.Column('thread_id', sa.String(), nullable=True)) + op.create_index(op.f('ix_messages_thread_id'), 'messages', ['thread_id'], unique=False) + op.create_index(op.f('ix_threads_type'), 'threads', ['type'], unique=False) + op.create_foreign_key(None, 'messages', 'threads', ['thread_id'], ['id'], ondelete='CASCADE') + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_constraint(None, 'messages', type_='foreignkey') + op.drop_index(op.f('ix_messages_thread_id'), table_name='messages') + op.drop_column('messages', 'thread_id') + op.drop_table('threads') + # ### end Alembic commands ### |