in annotation/alembic/versions/2b3ed53127ea_alter_categories_id_integer_to_varchar.py [0:0]
def downgrade():
clear_tables()
if not check_exist_sequence():
op.execute(sa.schema.CreateSequence(categories_id_seq))
op.drop_constraint(
"categories_parent_fkey", "categories", type_="foreignkey"
)
op.drop_constraint(
"association_jobs_categories_category_id_fkey",
"association_jobs_categories",
type_="foreignkey",
)
op.add_column(
"categories",
sa.Column(
"parent_temp",
sa.INTEGER(),
nullable=True,
),
)
op.add_column(
"categories",
sa.Column(
"id_temp",
sa.INTEGER(),
categories_id_seq,
nullable=True,
primary_key=True,
server_default=categories_id_seq.next_value(),
),
),
op.add_column(
"association_jobs_categories",
sa.Column(
"category_id_temp",
sa.INTEGER(),
nullable=True,
),
)
op.drop_column("categories", "parent")
op.drop_column("categories", "id")
op.drop_column("association_jobs_categories", "category_id")
op.create_primary_key("pk_categories", "categories", ["id_temp"])
op.create_foreign_key(
"categories_parent_fkey",
"categories",
"categories",
["parent_temp"],
["id_temp"],
ondelete="CASCADE",
)
op.create_foreign_key(
"association_jobs_categories_category_id_fkey",
"association_jobs_categories",
"categories",
["category_id_temp"],
["id_temp"],
)
op.alter_column(
"categories",
"parent_temp",
new_column_name="parent",
)
op.alter_column(
"categories", "id_temp", new_column_name="id", nullable=False
)
op.alter_column(
"association_jobs_categories",
"category_id_temp",
new_column_name="category_id",
nullable=False,
)
op.create_check_constraint(
"is_not_self_parent", "categories", "id != parent"
)
op.create_index(
op.f("ix_categories_parent"),
"categories",
["parent"],
unique=False,
)