diff options
Diffstat (limited to 'gitsrht/alembic/versions/8d26b98e7d44_add_cascades_for_repo_deletion.py')
-rw-r--r-- | gitsrht/alembic/versions/8d26b98e7d44_add_cascades_for_repo_deletion.py | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/gitsrht/alembic/versions/8d26b98e7d44_add_cascades_for_repo_deletion.py b/gitsrht/alembic/versions/8d26b98e7d44_add_cascades_for_repo_deletion.py new file mode 100644 index 0000000..212044b --- /dev/null +++ b/gitsrht/alembic/versions/8d26b98e7d44_add_cascades_for_repo_deletion.py @@ -0,0 +1,94 @@ +"""Add cascades for repo deletion + +Revision ID: 8d26b98e7d44 +Revises: ce3a03ec34a5 +Create Date: 2018-07-11 07:15:41.973647 + +""" + +# revision identifiers, used by Alembic. +revision = '8d26b98e7d44' +down_revision = 'ce3a03ec34a5' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + op.drop_constraint( + constraint_name="redirect_new_repo_id_fkey", + table_name="redirect", + type_="foreignkey") + op.create_foreign_key( + constraint_name="redirect_new_repo_id_fkey", + source_table="redirect", + referent_table="repository", + local_cols=["new_repo_id"], + remote_cols=["id"], + ondelete="CASCADE") + op.drop_constraint( + constraint_name="access_repo_id_fkey", + table_name="access", + type_="foreignkey") + op.create_foreign_key( + constraint_name="access_repo_id_fkey", + source_table="access", + referent_table="repository", + local_cols=["repo_id"], + remote_cols=["id"], + ondelete="CASCADE") + op.drop_constraint( + constraint_name="webhook_repo_id_fkey", + table_name="webhook", + type_="foreignkey") + op.create_foreign_key( + constraint_name="webhook_repo_id_fkey", + source_table="webhook", + referent_table="repository", + local_cols=["repo_id"], + remote_cols=["id"], + ondelete="CASCADE") + op.drop_constraint( + constraint_name="webhook_oauth_token_id_fkey", + table_name="webhook", + type_="foreignkey") + op.create_foreign_key( + constraint_name="webhook_oauth_token_id_fkey", + source_table="webhook", + referent_table="oauthtoken", + local_cols=["oauth_token_id"], + remote_cols=["id"], + ondelete="CASCADE") + + +def downgrade(): + op.drop_constraint( + constraint_name="redirect_new_repo_id_fkey", + table_name="redirect", + type_="foreignkey") + op.create_foreign_key( + constraint_name="redirect_new_repo_id_fkey", + source_table="redirect", + referent_table="repository", + local_cols=["new_repo_id"], + remote_cols=["id"]) + op.drop_constraint( + constraint_name="access_repo_id_fkey", + table_name="access", + type_="foreignkey") + op.create_foreign_key( + constraint_name="access_repo_id_fkey", + source_table="access", + referent_table="repository", + local_cols=["repo_id"], + remote_cols=["id"]) + op.drop_constraint( + constraint_name="webhook_repo_id_fkey", + table_name="webhook", + type_="foreignkey") + op.create_foreign_key( + constraint_name="webhook_repo_id_fkey", + source_table="webhook", + referent_table="repository", + local_cols=["repo_id"], + remote_cols=["id"]) |