diff options
| author | Alban Peignier | 2016-05-10 14:28:22 +0200 | 
|---|---|---|
| committer | Alban Peignier | 2016-05-10 14:46:53 +0200 | 
| commit | 304040cf0fae4673bf5913b0d09da5fda5227b8e (patch) | |
| tree | 84f169e905bcefb292a6906c26820034d88b60b3 /db/migrate | |
| parent | 3adb65c09321d6edcec4045be6abeb34fe3bc672 (diff) | |
| download | chouette-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.rb | 27 | 
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  | 
