diff options
| author | Xinhui | 2016-05-11 15:06:11 +0200 | 
|---|---|---|
| committer | Xinhui | 2016-05-11 15:06:11 +0200 | 
| commit | 781142afdb90bb0ca62783435f582725794f4f57 (patch) | |
| tree | 83d37e168f4cd02422088c0c15d39160c1e6a8bd /db/migrate | |
| parent | f0b822710320a3dde22782334b436b87f5d47054 (diff) | |
| download | chouette-core-781142afdb90bb0ca62783435f582725794f4f57.tar.bz2 | |
Disable Line foreign key
Refs #825
Diffstat (limited to 'db/migrate')
| -rw-r--r-- | db/migrate/20160511094753_disable_line_foreign_keys.rb | 21 | 
1 files changed, 21 insertions, 0 deletions
diff --git a/db/migrate/20160511094753_disable_line_foreign_keys.rb b/db/migrate/20160511094753_disable_line_foreign_keys.rb new file mode 100644 index 000000000..ffc665344 --- /dev/null +++ b/db/migrate/20160511094753_disable_line_foreign_keys.rb @@ -0,0 +1,21 @@ +class DisableLineForeignKeys < ActiveRecord::Migration +  def change +    disable_foreign_key :lines, :line_company_fkey +    disable_foreign_key :lines, :line_ptnetwork_fkey +    disable_foreign_key :routing_constraints_lines, :routingconstraint_line_fkey +    disable_foreign_key :routes, :route_line_fkey +    disable_foreign_key :group_of_lines_lines, :groupofline_line_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  | 
