diff options
| author | Michel Etienne | 2013-02-07 16:22:58 +0100 |
|---|---|---|
| committer | Michel Etienne | 2013-02-07 16:22:58 +0100 |
| commit | ced4e122d9204e0e507f0a34c53f978c4d73c45d (patch) | |
| tree | d22becd1906fd07959295ef1e2273c99e140bbb2 /db | |
| parent | 02f3f3276c4d8c62791f4f76688f01af0f1ceb97 (diff) | |
| download | chouette-core-ced4e122d9204e0e507f0a34c53f978c4d73c45d.tar.bz2 | |
import foreign keys from ninoxe
Diffstat (limited to 'db')
| -rw-r--r-- | db/migrate/20130207123618_add_foreign_keys.ninoxe_engine.rb | 278 | ||||
| -rw-r--r-- | db/schema.rb | 50 |
2 files changed, 327 insertions, 1 deletions
diff --git a/db/migrate/20130207123618_add_foreign_keys.ninoxe_engine.rb b/db/migrate/20130207123618_add_foreign_keys.ninoxe_engine.rb new file mode 100644 index 000000000..cab9d13f0 --- /dev/null +++ b/db/migrate/20130207123618_add_foreign_keys.ninoxe_engine.rb @@ -0,0 +1,278 @@ +# This migration comes from ninoxe_engine (originally 20130204141720) +require "forwardable" + +class AddForeignKeys < ActiveRecord::Migration + def up + # t.remove_foreign_key does not works if foreign key doesn't exists so check before if keys already exists + change_table :access_links do |t| + if @connection.foreign_keys(:access_links).any? + @connection.foreign_keys(:access_links).map do |f| + name = f.options[:name] + if (name == "aclk_acpt_fkey" || name == "aclk_area_fkey" ) + remove_foreign_key :access_links, :name => name + end + end + end + t.foreign_key :access_points, :dependent => :delete, :name => 'aclk_acpt_fkey' + t.foreign_key :stop_areas, :dependent => :delete, :name => 'aclk_area_fkey' + end + change_table :access_points do |t| + if @connection.foreign_keys(:access_points).any? + @connection.foreign_keys(:access_points).map do |f| + name = f.options[:name] + if (name == "access_area_fkey" ) + remove_foreign_key :access_points, :name => name + end + end + end + t.foreign_key :stop_areas, :dependent => :delete, :name => 'access_area_fkey' + end + change_table :connection_links do |t| + if @connection.foreign_keys(:connection_links).any? + @connection.foreign_keys(:connection_links).map do |f| + name = f.options[:name] + if (name == "colk_endarea_fkey" || name == "colk_startarea_fkey" ) + remove_foreign_key :connection_links, :name => name + end + end + end + t.foreign_key :stop_areas, :dependent => :delete, :column => 'arrival_id', :name => 'colk_endarea_fkey' + t.foreign_key :stop_areas, :dependent => :delete, :column => 'departure_id', :name => 'colk_startarea_fkey' + end + change_table :group_of_lines_lines do |t| + if @connection.foreign_keys(:group_of_lines_lines).any? + @connection.foreign_keys(:group_of_lines_lines).map do |f| + name = f.options[:name] + if (name == "groupofline_group_fkey" || name == "groupofline_line_fkey" ) + remove_foreign_key :group_of_lines_lines, :name => name + end + end + end + t.foreign_key :group_of_lines, :dependent => :delete, :name => 'groupofline_group_fkey' + t.foreign_key :lines, :dependent => :delete, :name => 'groupofline_line_fkey' + end + change_table :journey_patterns do |t| + if @connection.foreign_keys(:journey_patterns).any? + @connection.foreign_keys(:journey_patterns).map do |f| + name = f.options[:name] + if (name == "arrival_point_fkey" || name == "departure_point_fkey" || name == "jp_route_fkey") + remove_foreign_key :journey_patterns, :name => name + end + end + end + t.foreign_key :stop_points, :dependent => :nullify, :column => 'arrival_stop_point_id', :name => 'arrival_point_fkey' + t.foreign_key :stop_points, :dependent => :nullify, :column => 'departure_stop_point_id', :name => 'departure_point_fkey' + t.foreign_key :routes, :dependent => :delete, :name => 'jp_route_fkey' + end + change_table :journey_patterns_stop_points do |t| + if @connection.foreign_keys(:journey_patterns_stop_points).any? + @connection.foreign_keys(:journey_patterns_stop_points).map do |f| + name = f.options[:name] + if (name == "jpsp_jp_fkey" || name == "jpsp_stoppoint_fkey" ) + remove_foreign_key :journey_patterns_stop_points, :name => name + end + end + end + t.foreign_key :journey_patterns, :dependent => :delete, :name => 'jpsp_jp_fkey' + t.foreign_key :stop_points, :dependent => :delete, :name => 'jpsp_stoppoint_fkey' + end + change_table :lines do |t| + if @connection.foreign_keys(:lines).any? + @connection.foreign_keys(:lines).map do |f| + name = f.options[:name] + if (name == "line_company_fkey" || name == "line_ptnetwork_fkey" ) + remove_foreign_key :lines, :name => name + end + end + end + t.foreign_key :companies, :dependent => :nullify, :name => 'line_company_fkey' + t.foreign_key :networks, :dependent => :nullify, :name => 'line_ptnetwork_fkey' + end + change_table :routes do |t| + if @connection.foreign_keys(:routes).any? + @connection.foreign_keys(:routes).map do |f| + name = f.options[:name] + if (name == "route_line_fkey" ) + remove_foreign_key :routes, :name => name + end + end + end + t.foreign_key :lines, :dependent => :delete, :name => 'route_line_fkey' + end + change_table :routing_constraints_lines do |t| + if @connection.foreign_keys(:routing_constraints_lines).any? + @connection.foreign_keys(:routing_constraints_lines).map do |f| + name = f.options[:name] + if (name == "routingconstraint_line_fkey" || name == "routingconstraint_stoparea_fkey" ) + remove_foreign_key :routing_constraints_lines, :name => name + end + end + end + t.foreign_key :lines, :dependent => :delete, :name => 'routingconstraint_line_fkey' + t.foreign_key :stop_areas, :dependent => :delete, :name => 'routingconstraint_stoparea_fkey' + end + change_table :stop_areas do |t| + if @connection.foreign_keys(:stop_areas).any? + @connection.foreign_keys(:stop_areas).map do |f| + name = f.options[:name] + if (name == "area_parent_fkey" ) + remove_foreign_key :stop_areas, :name => name + end + end + end + t.foreign_key :stop_areas, :dependent => :nullify, :column => 'parent_id', :name => 'area_parent_fkey' + end + change_table :stop_areas_stop_areas do |t| + if @connection.foreign_keys(:stop_areas_stop_areas).any? + @connection.foreign_keys(:stop_areas_stop_areas).map do |f| + name = f.options[:name] + if (name == "stoparea_child_fkey" || name == "stoparea_parent_fkey" ) + remove_foreign_key :stop_areas_stop_areas, :name => name + end + end + end + t.foreign_key :stop_areas, :dependent => :delete, :column => 'child_id', :name => 'stoparea_child_fkey' + t.foreign_key :stop_areas, :dependent => :delete, :column => 'parent_id', :name => 'stoparea_parent_fkey' + end + change_table :stop_points do |t| + if @connection.foreign_keys(:stop_points).any? + @connection.foreign_keys(:stop_points).map do |f| + name = f.options[:name] + if (name == "stoppoint_area_fkey" || name == "stoppoint_route_fkey" ) + remove_foreign_key :stop_points, :name => name + end + end + end + t.foreign_key :stop_areas, :name => 'stoppoint_area_fkey' + t.foreign_key :routes, :dependent => :delete, :name => 'stoppoint_route_fkey' + end + change_table :time_table_dates do |t| + if @connection.foreign_keys(:time_table_dates).any? + @connection.foreign_keys(:time_table_dates).map do |f| + name = f.options[:name] + if (name == "tm_date_fkey" ) + remove_foreign_key :time_table_dates, :name => name + end + end + end + t.foreign_key :time_tables, :dependent => :delete, :name => 'tm_date_fkey' + end + change_table :time_table_periods do |t| + if @connection.foreign_keys(:time_table_periods).any? + @connection.foreign_keys(:time_table_periods).map do |f| + name = f.options[:name] + if (name == "tm_period_fkey" ) + remove_foreign_key :time_table_periods, :name => name + end + end + end + t.foreign_key :time_tables, :dependent => :delete, :name => 'tm_period_fkey' + end + change_table :time_tables_vehicle_journeys do |t| + if @connection.foreign_keys(:time_tables_vehicle_journeys).any? + @connection.foreign_keys(:time_tables_vehicle_journeys).map do |f| + name = f.options[:name] + if (name == "vjtm_tm_fkey" || name == "vjtm_vj_fkey" ) + remove_foreign_key :time_tables_vehicle_journeys, :name => name + end + end + end + t.foreign_key :time_tables, :dependent => :delete, :name => 'vjtm_tm_fkey' + t.foreign_key :vehicle_journeys, :dependent => :delete, :name => 'vjtm_vj_fkey' + end + change_table :vehicle_journey_at_stops do |t| + if @connection.foreign_keys(:vehicle_journey_at_stops).any? + @connection.foreign_keys(:vehicle_journey_at_stops).map do |f| + name = f.options[:name] + if (name == "vjas_sp_fkey" || name == "vjas_vj_fkey" ) + remove_foreign_key :vehicle_journey_at_stops, :name => name + end + end + end + t.foreign_key :stop_points, :dependent => :delete, :name => 'vjas_sp_fkey' + t.foreign_key :vehicle_journeys, :dependent => :delete, :name => 'vjas_vj_fkey' + end + change_table :vehicle_journeys do |t| + if @connection.foreign_keys(:vehicle_journeys).any? + @connection.foreign_keys(:vehicle_journeys).map do |f| + name = f.options[:name] + if (name == "vj_company_fkey" || name == "vj_jp_fkey" || name == "vj_route_fkey") + remove_foreign_key :vehicle_journeys, :name => name + end + end + end + t.foreign_key :companies, :dependent => :nullify, :name => 'vj_company_fkey' + t.foreign_key :journey_patterns, :dependent => :delete, :name => 'vj_jp_fkey' + t.foreign_key :routes, :dependent => :delete, :name => 'vj_route_fkey' + end + + end + + def down + change_table :access_links do |t| + t.remove_foreign_key :name => :aclk_acpt_fkey + t.remove_foreign_key :name => :aclk_area_fkey + end + change_table :access_points do |t| + t.remove_foreign_key :name => :access_area_fkey + end + change_table :connection_links do |t| + t.remove_foreign_key :name => :colk_endarea_fkey + t.remove_foreign_key :name => :colk_startarea_fkey + end + change_table :group_of_lines_lines do |t| + t.remove_foreign_key :name => :groupofline_group_fkey + t.remove_foreign_key :name => :groupofline_line_fkey + end + change_table :journey_patterns do |t| + t.remove_foreign_key :name => :arrival_point_fkey + t.remove_foreign_key :name => :departure_point_fkey + t.remove_foreign_key :name => :jp_route_fkey + end + change_table :journey_patterns_stop_points do |t| + t.remove_foreign_key :name => :jpsp_jp_fkey + t.remove_foreign_key :name => :jpsp_stoppoint_fkey + end + change_table :lines do |t| + t.remove_foreign_key :name => :line_company_fkey + t.remove_foreign_key :name => :line_ptnetwork_fkey + end + change_table :routes do |t| + t.remove_foreign_key :name => :route_line_fkey + end + change_table :routing_constraints_lines do |t| + t.remove_foreign_key :name => :routingconstraint_line_fkey + t.remove_foreign_key :name => :routingconstraint_stoparea_fkey + end + change_table :stop_areas do |t| + t.remove_foreign_key :name => :area_parent_fkey + end + change_table :stop_areas_stop_areas do |t| + t.remove_foreign_key :name => :stoparea_child_fkey + t.remove_foreign_key :name => :stoparea_parent_fkey + end + change_table :stop_points do |t| + t.remove_foreign_key :name => :stoppoint_area_fkey + t.remove_foreign_key :name => :stoppoint_route_fkey + end + change_table :time_table_dates do |t| + t.remove_foreign_key :name => :tm_date_fkey + end + change_table :time_table_periods do |t| + t.remove_foreign_key :name => :tm_period_fkey + end + change_table :time_tables_vehicle_journeys do |t| + t.remove_foreign_key :name => :vjtm_tm_fkey + t.remove_foreign_key :name => :vjtm_vj_fkey + end + change_table :vehicle_journey_at_stops do |t| + t.remove_foreign_key :name => :vjas_sp_fkey + t.remove_foreign_key :name => :vjas_vj_fkey + end + change_table :vehicle_journeys do |t| + t.remove_foreign_key :name => :vj_company_fkey + t.remove_foreign_key :name => :vj_jp_fkey + t.remove_foreign_key :name => :vj_route_fkey + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 7be6c3f3d..2b372d0b4 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20121211085620) do +ActiveRecord::Schema.define(:version => 20130207123618) do create_table "access_links", :force => true do |t| t.integer "access_point_id", :limit => 8 @@ -527,4 +527,52 @@ ActiveRecord::Schema.define(:version => 20121211085620) do add_index "vehicle_journeys", ["objectid"], :name => "vehicle_journeys_objectid_key", :unique => true add_index "vehicle_journeys", ["route_id"], :name => "index_vehicle_journeys_on_route_id" + add_foreign_key "access_links", "access_points", :name => "aclk_acpt_fkey", :dependent => :delete + add_foreign_key "access_links", "stop_areas", :name => "aclk_area_fkey", :dependent => :delete + + add_foreign_key "access_points", "stop_areas", :name => "access_area_fkey", :dependent => :delete + + add_foreign_key "connection_links", "stop_areas", :name => "colk_endarea_fkey", :column => "arrival_id", :dependent => :delete + add_foreign_key "connection_links", "stop_areas", :name => "colk_startarea_fkey", :column => "departure_id", :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_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 "routing_constraints_lines", "lines", :name => "routingconstraint_line_fkey", :dependent => :delete + add_foreign_key "routing_constraints_lines", "stop_areas", :name => "routingconstraint_stoparea_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 "stop_points", "stop_areas", :name => "stoppoint_area_fkey" + + 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 |
