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 | |
| parent | 3adb65c09321d6edcec4045be6abeb34fe3bc672 (diff) | |
| download | chouette-core-304040cf0fae4673bf5913b0d09da5fda5227b8e.tar.bz2 | |
Remove foreign keys associated to stop_areas table by waiting Foreigner fix. Refs #833
| -rw-r--r-- | db/migrate/20160505140817_disable_stop_area_foreign_keys.rb | 27 | ||||
| -rw-r--r-- | db/schema.rb | 71 | 
2 files changed, 72 insertions, 26 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 diff --git a/db/schema.rb b/db/schema.rb index 99448dd12..2d8e3756e 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@  #  # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20160504160504) do +ActiveRecord::Schema.define(version: 20160505140817) do    # These are extensions that must be enabled in order to support this database    enable_extension "plpgsql" @@ -209,18 +209,6 @@ ActiveRecord::Schema.define(version: 20160504160504) do      t.integer "line_id",          limit: 8    end -  create_table "jobs", force: true do |t| -    t.string   "action" -    t.datetime "created" -    t.string   "filename" -    t.text     "parameters" -    t.string   "referential" -    t.datetime "started" -    t.string   "status" -    t.string   "type" -    t.datetime "updated" -  end -    create_table "journey_frequencies", force: true do |t|      t.integer  "vehicle_journey_id",         limit: 8      t.time     "scheduled_headway_interval",                           null: false @@ -249,7 +237,7 @@ ActiveRecord::Schema.define(version: 20160504160504) do    create_table "journey_patterns", force: true do |t|      t.integer  "route_id",                limit: 8 -    t.string   "objectid",                                       null: false +    t.string   "objectid",                                      null: false      t.integer  "object_version"      t.datetime "creation_time"      t.string   "creator_id" @@ -259,12 +247,10 @@ ActiveRecord::Schema.define(version: 20160504160504) do      t.string   "published_name"      t.integer  "departure_stop_point_id", limit: 8      t.integer  "arrival_stop_point_id",   limit: 8 -    t.integer  "route_section_ids",                 default: [],              array: true -    t.integer  "section_status",                    default: 0,  null: false +    t.integer  "section_status",                    default: 0, null: false    end    add_index "journey_patterns", ["objectid"], :name => "journey_patterns_objectid_key", :unique => true -  add_index "journey_patterns", ["route_section_ids"], :name => "index_journey_patterns_on_route_section_ids"    create_table "journey_patterns_stop_points", id: false, force: true do |t|      t.integer "journey_pattern_id", limit: 8 @@ -298,12 +284,6 @@ ActiveRecord::Schema.define(version: 20160504160504) do    add_index "lines", ["objectid"], :name => "lines_objectid_key", :unique => true    add_index "lines", ["registration_number"], :name => "lines_registration_number_key" -  create_table "links", id: false, force: true do |t| -    t.integer "job_id", limit: 8, null: false -    t.string  "rel" -    t.string  "type" -  end -    create_table "networks", force: true do |t|      t.string   "objectid",            null: false      t.integer  "object_version" @@ -361,8 +341,8 @@ ActiveRecord::Schema.define(version: 20160504160504) do    end    create_table "route_sections", force: true do |t| -    t.integer  "departure_id" -    t.integer  "arrival_id" +    t.integer  "departure_id",       limit: 8 +    t.integer  "arrival_id",         limit: 8      t.string   "objectid",                                                       null: false      t.integer  "object_version"      t.datetime "creation_time" @@ -613,12 +593,51 @@ ActiveRecord::Schema.define(version: 20160504160504) do    add_index "vehicle_journeys", ["route_id"], :name => "index_vehicle_journeys_on_route_id"    Foreigner.load +  add_foreign_key "access_links", "access_points", name: "aclk_acpt_fkey", dependent: :delete + +  add_foreign_key "group_of_lines_lines", "group_of_lines", name: "groupofline_group_fkey", dependent: :delete +  add_foreign_key "group_of_lines_lines", "lines", name: "groupofline_line_fkey", dependent: :delete +    add_foreign_key "journey_frequencies", "timebands", name: "journey_frequencies_timeband_id_fk", dependent: :nullify    add_foreign_key "journey_frequencies", "vehicle_journeys", name: "journey_frequencies_vehicle_journey_id_fk", dependent: :nullify    add_foreign_key "journey_pattern_sections", "journey_patterns", name: "journey_pattern_sections_journey_pattern_id_fk", dependent: :delete    add_foreign_key "journey_pattern_sections", "route_sections", name: "journey_pattern_sections_route_section_id_fk", dependent: :delete -  add_foreign_key "links", "jobs", name: "fk_n5ypxycc1stckgkm6ust2l6on" +  add_foreign_key "journey_patterns", "routes", name: "jp_route_fkey", dependent: :delete +  add_foreign_key "journey_patterns", "stop_points", name: "arrival_point_fkey", column: "arrival_stop_point_id", dependent: :nullify +  add_foreign_key "journey_patterns", "stop_points", name: "departure_point_fkey", column: "departure_stop_point_id", dependent: :nullify + +  add_foreign_key "journey_patterns_stop_points", "journey_patterns", name: "jpsp_jp_fkey", dependent: :delete +  add_foreign_key "journey_patterns_stop_points", "stop_points", name: "jpsp_stoppoint_fkey", dependent: :delete + +  add_foreign_key "lines", "companies", name: "line_company_fkey", dependent: :nullify +  add_foreign_key "lines", "networks", name: "line_ptnetwork_fkey", dependent: :nullify + +  add_foreign_key "routes", "lines", name: "route_line_fkey", dependent: :delete +  add_foreign_key "routes", "routes", name: "route_opposite_route_fkey", column: "opposite_route_id", dependent: :nullify + +  add_foreign_key "routing_constraints_lines", "lines", name: "routingconstraint_line_fkey", dependent: :delete + +  add_foreign_key "stop_areas", "stop_areas", name: "area_parent_fkey", column: "parent_id", dependent: :nullify + +  add_foreign_key "stop_areas_stop_areas", "stop_areas", name: "stoparea_child_fkey", column: "child_id", dependent: :delete +  add_foreign_key "stop_areas_stop_areas", "stop_areas", name: "stoparea_parent_fkey", column: "parent_id", dependent: :delete + +  add_foreign_key "stop_points", "routes", name: "stoppoint_route_fkey", dependent: :delete + +  add_foreign_key "time_table_dates", "time_tables", name: "tm_date_fkey", dependent: :delete + +  add_foreign_key "time_table_periods", "time_tables", name: "tm_period_fkey", dependent: :delete + +  add_foreign_key "time_tables_vehicle_journeys", "time_tables", name: "vjtm_tm_fkey", dependent: :delete +  add_foreign_key "time_tables_vehicle_journeys", "vehicle_journeys", name: "vjtm_vj_fkey", dependent: :delete + +  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  end  | 
