summaryrefslogtreecommitdiffstats
path: root/gitsrht/alembic/versions/8d26b98e7d44_add_cascades_for_repo_deletion.py
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2018-07-11 07:22:46 -0400
committerDrew DeVault <sir@cmpwn.com>2018-07-11 07:22:46 -0400
commit687dde9ee8445e15101cc0a2a16d75fe3b0cdad4 (patch)
tree71b88929f54724ceecf14e813f201d9f53562f5d /gitsrht/alembic/versions/8d26b98e7d44_add_cascades_for_repo_deletion.py
parentfce89b045078d2a08bdd3a6bd949e641f3f52291 (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.py94
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"])