"""Created tables for metadata multi part keys
Revision ID: 7866a83369ff
Revises: dd19dd789f6d
Create Date: 2019-11-05 14:25:01.902734+00:00
"""
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
# revision identifiers, used by Alembic.
revision = "7866a83369ff"
down_revision = "dd19dd789f6d"
branch_labels = None
depends_on = None
[docs]def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.create_table(
"python_package_metadata_classifier",
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
sa.Column("classifier", sa.String(length=256), nullable=True),
sa.PrimaryKeyConstraint("id"),
)
op.create_table(
"python_package_metadata_distutils",
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
sa.Column("distutils", sa.String(length=256), nullable=True),
sa.Column(
"distutils_type", postgresql.ENUM("REQUIRED", "PROVIDED", "OBSOLETE", name="distutils_type"), nullable=True
),
sa.PrimaryKeyConstraint("id"),
)
op.create_table(
"python_package_metadata_platform",
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
sa.Column("platform", sa.String(length=256), nullable=True),
sa.PrimaryKeyConstraint("id"),
)
op.create_table(
"python_package_metadata_project_url",
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
sa.Column("project_url", sa.String(length=256), nullable=True),
sa.PrimaryKeyConstraint("id"),
)
op.create_table(
"python_package_metadata_provides_extra",
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
sa.Column("optional_feature", sa.String(length=256), nullable=True),
sa.PrimaryKeyConstraint("id"),
)
op.create_table(
"python_package_metadata_requires_external",
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
sa.Column("dependency", sa.String(length=256), nullable=True),
sa.PrimaryKeyConstraint("id"),
)
op.create_table(
"python_package_metadata_supported_platform",
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
sa.Column("supported_platform", sa.String(length=256), nullable=True),
sa.PrimaryKeyConstraint("id"),
)
op.create_table(
"has_metadata_classifier",
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
sa.Column("python_package_metadata_id", sa.Integer(), nullable=False),
sa.Column("python_package_metadata_classifier_id", sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(
["python_package_metadata_classifier_id"], ["python_package_metadata_classifier.id"], ondelete="CASCADE"
),
sa.ForeignKeyConstraint(["python_package_metadata_id"], ["python_package_metadata.id"], ondelete="CASCADE"),
sa.PrimaryKeyConstraint("id", "python_package_metadata_id", "python_package_metadata_classifier_id"),
)
op.create_table(
"has_metadata_distutils",
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
sa.Column("python_package_metadata_id", sa.Integer(), nullable=False),
sa.Column("python_package_metadata_distutils_id", sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(
["python_package_metadata_distutils_id"], ["python_package_metadata_distutils.id"], ondelete="CASCADE"
),
sa.ForeignKeyConstraint(["python_package_metadata_id"], ["python_package_metadata.id"], ondelete="CASCADE"),
sa.PrimaryKeyConstraint("id", "python_package_metadata_id", "python_package_metadata_distutils_id"),
)
op.create_table(
"has_metadata_platform",
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
sa.Column("python_package_metadata_id", sa.Integer(), nullable=False),
sa.Column("python_package_metadata_platform_id", sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(["python_package_metadata_id"], ["python_package_metadata.id"], ondelete="CASCADE"),
sa.ForeignKeyConstraint(
["python_package_metadata_platform_id"], ["python_package_metadata_platform.id"], ondelete="CASCADE"
),
sa.PrimaryKeyConstraint("id", "python_package_metadata_id", "python_package_metadata_platform_id"),
)
op.create_table(
"has_metadata_project_url",
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
sa.Column("python_package_metadata_id", sa.Integer(), nullable=False),
sa.Column("python_package_metadata_project_url_id", sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(["python_package_metadata_id"], ["python_package_metadata.id"], ondelete="CASCADE"),
sa.ForeignKeyConstraint(
["python_package_metadata_project_url_id"], ["python_package_metadata_project_url.id"], ondelete="CASCADE"
),
sa.PrimaryKeyConstraint("id", "python_package_metadata_id", "python_package_metadata_project_url_id"),
)
op.create_table(
"has_metadata_provides_extra",
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
sa.Column("python_package_metadata_id", sa.Integer(), nullable=False),
sa.Column("python_package_metadata_provides_extra_id", sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(["python_package_metadata_id"], ["python_package_metadata.id"], ondelete="CASCADE"),
sa.ForeignKeyConstraint(
["python_package_metadata_provides_extra_id"],
["python_package_metadata_provides_extra.id"],
ondelete="CASCADE",
),
sa.PrimaryKeyConstraint("id", "python_package_metadata_id", "python_package_metadata_provides_extra_id"),
)
op.create_table(
"has_metadata_requires_external",
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
sa.Column("python_package_metadata_id", sa.Integer(), nullable=False),
sa.Column("python_package_metadata_requires_external_id", sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(["python_package_metadata_id"], ["python_package_metadata.id"], ondelete="CASCADE"),
sa.ForeignKeyConstraint(
["python_package_metadata_requires_external_id"],
["python_package_metadata_requires_external.id"],
ondelete="CASCADE",
),
sa.PrimaryKeyConstraint("id", "python_package_metadata_id", "python_package_metadata_requires_external_id"),
)
op.create_table(
"has_metadata_supported_platform",
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
sa.Column("python_package_metadata_id", sa.Integer(), nullable=False),
sa.Column("python_package_metadata_supported_platform_id", sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(["python_package_metadata_id"], ["python_package_metadata.id"], ondelete="CASCADE"),
sa.ForeignKeyConstraint(
["python_package_metadata_supported_platform_id"],
["python_package_metadata_supported_platform.id"],
ondelete="CASCADE",
),
sa.PrimaryKeyConstraint("id", "python_package_metadata_id", "python_package_metadata_supported_platform_id"),
)
op.add_column("python_package_metadata", sa.Column("description", sa.String(length=256), nullable=True))
op.drop_column("python_package_metadata", "classifier")
op.drop_column("python_package_metadata", "requires_dist")
op.drop_column("python_package_metadata", "provides_extra")
op.drop_column("python_package_metadata", "project_url")
op.drop_column("python_package_metadata", "platform")
# ### end Alembic commands ###
[docs]def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.add_column(
"python_package_metadata", sa.Column("platform", sa.VARCHAR(length=256), autoincrement=False, nullable=True)
)
op.add_column(
"python_package_metadata", sa.Column("project_url", sa.VARCHAR(length=256), autoincrement=False, nullable=True)
)
op.add_column(
"python_package_metadata",
sa.Column("provides_extra", sa.VARCHAR(length=256), autoincrement=False, nullable=True),
)
op.add_column(
"python_package_metadata",
sa.Column("requires_dist", sa.VARCHAR(length=256), autoincrement=False, nullable=True),
)
op.add_column(
"python_package_metadata", sa.Column("classifier", sa.VARCHAR(length=256), autoincrement=False, nullable=True)
)
op.drop_column("python_package_metadata", "description")
op.drop_table("has_metadata_supported_platform")
op.drop_table("has_metadata_requires_external")
op.drop_table("has_metadata_provides_extra")
op.drop_table("has_metadata_project_url")
op.drop_table("has_metadata_platform")
op.drop_table("has_metadata_distutils")
op.drop_table("has_metadata_classifier")
op.drop_table("python_package_metadata_supported_platform")
op.drop_table("python_package_metadata_requires_external")
op.drop_table("python_package_metadata_provides_extra")
op.drop_table("python_package_metadata_project_url")
op.drop_table("python_package_metadata_platform")
op.drop_table("python_package_metadata_distutils")
op.drop_table("python_package_metadata_classifier")
# ### end Alembic commands ###