diff options
| author | Alban Peignier | 2016-09-09 15:19:25 +0200 | 
|---|---|---|
| committer | Alban Peignier | 2016-09-09 15:20:52 +0200 | 
| commit | e32a3ce4b73363357545a75718478e9d19efc1d8 (patch) | |
| tree | c2d8465d87f2518fb5e3c3504c991dd96749fbb5 | |
| parent | 4747990c6d3ceb5020d06099d086500b066db6e4 (diff) | |
| download | chouette-core-e32a3ce4b73363357545a75718478e9d19efc1d8.tar.bz2 | |
Disable companies foreign keys. Refs #905
| -rw-r--r-- | db/migrate/20160909125235_disable_company_foreign_keys.rb | 17 | ||||
| -rw-r--r-- | db/schema.rb | 8 | 
2 files changed, 20 insertions, 5 deletions
diff --git a/db/migrate/20160909125235_disable_company_foreign_keys.rb b/db/migrate/20160909125235_disable_company_foreign_keys.rb new file mode 100644 index 000000000..1679a1ed5 --- /dev/null +++ b/db/migrate/20160909125235_disable_company_foreign_keys.rb @@ -0,0 +1,17 @@ +class DisableCompanyForeignKeys < ActiveRecord::Migration +  def change +    disable_foreign_key :companies, :vj_company_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 diff --git a/db/schema.rb b/db/schema.rb index 0db23d55f..532a6deda 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,8 +11,7 @@  #  # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20160909093322) do - +ActiveRecord::Schema.define(version: 20160909125235) do    # These are extensions that must be enabled in order to support this database    enable_extension "plpgsql"    enable_extension "postgis" @@ -407,10 +406,10 @@ ActiveRecord::Schema.define(version: 20160909093322) do      t.integer  "object_version"      t.datetime "creation_time"      t.string   "creator_id" -    t.float    "distance" -    t.boolean  "no_processing"      t.spatial  "input_geometry",     limit: {:srid=>4326, :type=>"line_string"}      t.spatial  "processed_geometry", limit: {:srid=>4326, :type=>"line_string"} +    t.float    "distance" +    t.boolean  "no_processing"    end    create_table "routes", force: true do |t| @@ -713,7 +712,6 @@ ActiveRecord::Schema.define(version: 20160909093322) do    add_foreign_key "vehicle_journey_at_stops", "stop_points", name: "vjas_sp_fkey", dependent: :delete    add_foreign_key "vehicle_journey_at_stops", "vehicle_journeys", name: "vjas_vj_fkey", dependent: :delete -  add_foreign_key "vehicle_journeys", "companies", name: "vj_company_fkey", dependent: :nullify    add_foreign_key "vehicle_journeys", "journey_patterns", name: "vj_jp_fkey", dependent: :delete    add_foreign_key "vehicle_journeys", "routes", name: "vj_route_fkey", dependent: :delete  | 
