diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-07-11 07:22:46 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2018-07-11 07:22:46 -0400 |
commit | 687dde9ee8445e15101cc0a2a16d75fe3b0cdad4 (patch) | |
tree | 71b88929f54724ceecf14e813f201d9f53562f5d /gitsrht/alembic/versions/8d26b98e7d44_add_cascades_for_repo_deletion.py | |
parent | fce89b045078d2a08bdd3a6bd949e641f3f52291 (diff) |
Add cascades for repo deletion
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"]) |