aboutsummaryrefslogtreecommitdiffstats
path: root/db/migrate
diff options
context:
space:
mode:
authorAlban Peignier2016-05-10 14:28:22 +0200
committerAlban Peignier2016-05-10 14:46:53 +0200
commit304040cf0fae4673bf5913b0d09da5fda5227b8e (patch)
tree84f169e905bcefb292a6906c26820034d88b60b3 /db/migrate
parent3adb65c09321d6edcec4045be6abeb34fe3bc672 (diff)
downloadchouette-core-304040cf0fae4673bf5913b0d09da5fda5227b8e.tar.bz2
Remove foreign keys associated to stop_areas table by waiting Foreigner fix. Refs #833
Diffstat (limited to 'db/migrate')
-rw-r--r--db/migrate/20160505140817_disable_stop_area_foreign_keys.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/db/migrate/20160505140817_disable_stop_area_foreign_keys.rb b/db/migrate/20160505140817_disable_stop_area_foreign_keys.rb
new file mode 100644
index 000000000..ffa164dfc
--- /dev/null
+++ b/db/migrate/20160505140817_disable_stop_area_foreign_keys.rb
@@ -0,0 +1,27 @@
+# coding: utf-8
+class DisableStopAreaForeignKeys < ActiveRecord::Migration
+ def change
+ disable_foreign_key :stop_points, :stoppoint_area_fkey
+ disable_foreign_key :connection_links, :colk_endarea_fkey
+ disable_foreign_key :connection_links, :colk_startarea_fkey
+ disable_foreign_key :access_links, :aclk_area_fkey
+ disable_foreign_key :access_points, :access_area_fkey
+
+ disable_foreign_key :route_sections, :route_sections_arrival_id_fk
+ disable_foreign_key :route_sections, :route_sections_departure_id_fk
+
+ disable_foreign_key :routing_constraints_lines, :routingconstraint_stoparea_fkey
+ end
+
+ def disable_foreign_key(table, name)
+ if foreign_key?(table, name)
+ remove_foreign_key table, name: name
+ end
+ end
+
+ def foreign_key?(table, name)
+ @connection.foreign_keys(table).any? do |foreign_key|
+ foreign_key.options[:name] == name.to_s
+ end
+ end
+end