summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEndre Karlson <endre.karlson@hp.com>2016-01-08 12:49:22 +0100
committerEndre Karlson <endre.karlson@hp.com>2016-01-11 11:30:56 +0100
commit483c3767d3621f37701824eac0ad9810f0464d75 (patch)
treeb0bddcfaa9b9d0c5ca8e360d6800e9a4d250dbb8
parent6c200765f132d14898682bb9a6b70baa0c639ca7 (diff)
downloaddesignate-483c3767d3621f37701824eac0ad9810f0464d75.tar.gz
Add FK's from Record/RecordSet to domain.id
Closes-Bug: #1520523 Change-Id: Id719657384515e40dc1db78836da9ac9c267b001
-rw-r--r--designate/storage/impl_sqlalchemy/migrate_repo/versions/057_add_r_domain_FK.py (renamed from designate/storage/impl_sqlalchemy/migrate_repo/versions/057_placeholder.py)22
1 files changed, 19 insertions, 3 deletions
diff --git a/designate/storage/impl_sqlalchemy/migrate_repo/versions/057_placeholder.py b/designate/storage/impl_sqlalchemy/migrate_repo/versions/057_add_r_domain_FK.py
index 5626d695..1e7855db 100644
--- a/designate/storage/impl_sqlalchemy/migrate_repo/versions/057_placeholder.py
+++ b/designate/storage/impl_sqlalchemy/migrate_repo/versions/057_add_r_domain_FK.py
@@ -21,10 +21,26 @@
# See https://blueprints.launchpad.net/nova/+spec/backportable-db-migrations
# http://lists.openstack.org/pipermail/openstack-dev/2013-March/006827.html
+from migrate.changeset.constraint import ForeignKeyConstraint
+from sqlalchemy.schema import MetaData, Table
+
+# This migration adds back the FKs removed in migration 80, as sqlalchemy
+# migrate seems to need to wait to add FKs to renamed tables.
+
+meta = MetaData()
+
def upgrade(migrate_engine):
- pass
+ meta.bind = migrate_engine
+ domains_table = Table('domains', meta, autoload=True)
+ recordsets_table = Table('recordsets', meta, autoload=True)
+ records_table = Table('records', meta, autoload=True)
-def downgrade(migration_engine):
- pass
+ fks = []
+ fks.append(ForeignKeyConstraint([recordsets_table.c.domain_id],
+ [domains_table.c.id], ondelete='CASCADE'))
+ fks.append(ForeignKeyConstraint([records_table.c.domain_id],
+ [domains_table.c.id], ondelete='CASCADE'))
+ for fk in fks:
+ fk.create()