26 lines
1.2 KiB
Python
26 lines
1.2 KiB
Python
|
|
"""Rétablir le rattachement des tâches planifiées aux contrats.
|
||
|
|
Revision ID: 8a95b1c2d3e4
|
||
|
|
Revises: 5784fc27cb2a
|
||
|
|
"""
|
||
|
|
from alembic import op
|
||
|
|
import sqlalchemy as sa
|
||
|
|
revision = "8a95b1c2d3e4"
|
||
|
|
down_revision = "5784fc27cb2a"
|
||
|
|
branch_labels = None
|
||
|
|
depends_on = None
|
||
|
|
def upgrade():
|
||
|
|
inspector = sa.inspect(op.get_bind())
|
||
|
|
columns = {c["name"] for c in inspector.get_columns("scheduled_tasks")}
|
||
|
|
if "contract_id" not in columns:
|
||
|
|
op.add_column("scheduled_tasks", sa.Column("contract_id", sa.Integer(), nullable=True))
|
||
|
|
names = {fk.get("name") for fk in inspector.get_foreign_keys("scheduled_tasks")}
|
||
|
|
if "fk_scheduled_tasks_contract_id" not in names:
|
||
|
|
op.create_foreign_key("fk_scheduled_tasks_contract_id", "scheduled_tasks", "contracts", ["contract_id"], ["id"])
|
||
|
|
def downgrade():
|
||
|
|
inspector = sa.inspect(op.get_bind())
|
||
|
|
names = {fk.get("name") for fk in inspector.get_foreign_keys("scheduled_tasks")}
|
||
|
|
if "fk_scheduled_tasks_contract_id" in names:
|
||
|
|
op.drop_constraint("fk_scheduled_tasks_contract_id", "scheduled_tasks", type_="foreignkey")
|
||
|
|
if "contract_id" in {c["name"] for c in inspector.get_columns("scheduled_tasks")}:
|
||
|
|
op.drop_column("scheduled_tasks", "contract_id")
|