# SPDX-FileCopyrightText: 2026 Dennis Fink # # SPDX-License-Identifier: BSD-3-Clause """Initial database schema Revision ID: f63641044cc1 Revises: Create Date: 2026-08-09 11:18:10.051888 """ import sqlalchemy as sa from alembic import op # 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 ###