awesome-fastapi-projects/migrations/versions/7ee6dc0ae743_add_repo_dependency_and_repodependency_.py
2023-07-28 22:56:43 +02:00

52 lines
1.5 KiB
Python

"""Add Repo, Dependency, and RepoDependency tables
Revision ID: 7ee6dc0ae743
Revises:
Create Date: 2023-07-28 22:41:31.438931
"""
import sqlalchemy as sa
from alembic import op
# revision identifiers, used by Alembic.
revision = "7ee6dc0ae743"
down_revision = None
branch_labels = None
depends_on = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.create_table(
"dependency",
sa.Column("id", sa.Integer(), nullable=False),
sa.Column("name", sa.String(length=255), nullable=False),
sa.PrimaryKeyConstraint("id"),
)
op.create_table(
"repo",
sa.Column("id", sa.Integer(), nullable=False),
sa.Column("url", sa.String(), nullable=False),
sa.PrimaryKeyConstraint("id"),
sa.UniqueConstraint("url"),
)
op.create_table(
"repo_dependency",
sa.Column("repo_id", sa.Integer(), nullable=False),
sa.Column("dependency_id", sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(
["dependency_id"], ["dependency.id"], ondelete="CASCADE"
),
sa.ForeignKeyConstraint(["repo_id"], ["repo.id"], ondelete="CASCADE"),
sa.PrimaryKeyConstraint("repo_id", "dependency_id"),
)
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_table("repo_dependency")
op.drop_table("repo")
op.drop_table("dependency")
# ### end Alembic commands ###