aboutsummaryrefslogtreecommitdiff
path: root/migrations/versions
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--migrations/versions/f63641044cc1_initial_database_schema.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/migrations/versions/f63641044cc1_initial_database_schema.py b/migrations/versions/f63641044cc1_initial_database_schema.py
new file mode 100644
index 0000000..a3f0e40
--- /dev/null
+++ b/migrations/versions/f63641044cc1_initial_database_schema.py
@@ -0,0 +1,50 @@
+"""Initial database schema
+
+Revision ID: f63641044cc1
+Revises:
+Create Date: 2026-08-09 11:18:10.051888
+
+"""
+from alembic import op
+import sqlalchemy as sa
+
+
+# revision identifiers, used by Alembic.
+revision = 'f63641044cc1'
+down_revision = None
+branch_labels = None
+depends_on = None
+
+
+def upgrade():
+ # ### commands auto generated by Alembic - please adjust! ###
+ op.create_table('received_webmentions',
+ sa.Column('uuid', sa.Uuid(), nullable=False),
+ sa.Column('source', sa.Text(), nullable=False),
+ sa.Column('target', sa.Text(), nullable=False),
+ sa.Column('status', sa.Text(), nullable=False),
+ sa.Column('failure_reason', sa.Text(), nullable=True),
+ sa.Column('updated_at', sa.DateTime(timezone=True), nullable=False),
+ sa.PrimaryKeyConstraint('uuid'),
+ sa.UniqueConstraint('source', 'target', name='uq_webmention_source_target')
+ )
+ op.create_table('users',
+ sa.Column('id', sa.Integer(), nullable=False),
+ sa.Column('username', sa.String(length=64), nullable=False),
+ sa.Column('password_hash', sa.String(length=256), nullable=True),
+ sa.PrimaryKeyConstraint('id')
+ )
+ with op.batch_alter_table('users', schema=None) as batch_op:
+ batch_op.create_index(batch_op.f('ix_users_username'), ['username'], unique=True)
+
+ # ### end Alembic commands ###
+
+
+def downgrade():
+ # ### commands auto generated by Alembic - please adjust! ###
+ with op.batch_alter_table('users', schema=None) as batch_op:
+ batch_op.drop_index(batch_op.f('ix_users_username'))
+
+ op.drop_table('users')
+ op.drop_table('received_webmentions')
+ # ### end Alembic commands ###