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 | |
| parent | f0b822710320a3dde22782334b436b87f5d47054 (diff) | |
| download | chouette-core-781142afdb90bb0ca62783435f582725794f4f57.tar.bz2 | |
Disable Line foreign key
Refs #825
Diffstat (limited to 'db')
| -rw-r--r-- | db/migrate/20160511094753_disable_line_foreign_keys.rb | 21 | ||||
| -rw-r--r-- | db/schema.rb | 64 |
2 files changed, 59 insertions, 26 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 diff --git a/db/schema.rb b/db/schema.rb index 61f64707f..dcd0e162f 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: 20160511082825) do +ActiveRecord::Schema.define(version: 20160511094753) 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: 20160511082825) 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: 20160511082825) 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: 20160511082825) 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 @@ -310,12 +296,6 @@ ActiveRecord::Schema.define(version: 20160511082825) 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" @@ -373,8 +353,8 @@ ActiveRecord::Schema.define(version: 20160511082825) 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" @@ -627,12 +607,44 @@ ActiveRecord::Schema.define(version: 20160511082825) 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 "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 "routes", "routes", name: "route_opposite_route_fkey", column: "opposite_route_id", dependent: :nullify + + 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 |
