diff --git a/barker/alembic/versions/34fe3d061c5f_finish_import.py b/barker/alembic/versions/34fe3d061c5f_finish_import.py index d75f39f..e15c122 100644 --- a/barker/alembic/versions/34fe3d061c5f_finish_import.py +++ b/barker/alembic/versions/34fe3d061c5f_finish_import.py @@ -5,6 +5,8 @@ Revises: 8c06ac60d125 Create Date: 2020-10-27 19:38:48.445908 """ +from datetime import date, timedelta + import sqlalchemy as sa from alembic import op @@ -176,9 +178,19 @@ def upgrade(): batch_op.add_column(sa.Column("product_id", postgresql.UUID(as_uuid=True), nullable=True)), batch_op.add_column(sa.Column("valid_from", sa.Date(), nullable=True)) batch_op.add_column(sa.Column("valid_till", sa.Date(), nullable=True)) - batch_op.drop_column("is_active") batch_op.create_primary_key("pk_product_versions", ["id"]) + p = table( + "product_versions", + column("is_active", sa.Boolean()), + column("valid_till", sa.Date()), + ) + op.execute( + p.update().values(valid_till=date.today() - timedelta(days=1)).where(p.c.is_active == False) # noqa E712 + ) + + op.drop_column("product_versions", "is_active") + prod_v = table( "product_versions", column("id", postgresql.UUID(as_uuid=True)), @@ -189,12 +201,7 @@ def upgrade(): op.create_table( "products", sa.Column("id", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False), - # sa.Column("version_id", postgresql.UUID(as_uuid=True), nullable=False), - # sa.ForeignKeyConstraint( - # ["version_id"], ["product_versions.id"], name=op.f("fk_products_version_id_product_versions") - # ), sa.PrimaryKeyConstraint("id", name=op.f("pk_products")), - # sa.UniqueConstraint("id", "version_id", name=op.f("uq_products_id")), ) op.alter_column("product_versions", "product_id", nullable=False)