aboutsummaryrefslogtreecommitdiffstats
path: root/db
diff options
context:
space:
mode:
authorMichel Etienne2013-02-07 16:22:58 +0100
committerMichel Etienne2013-02-07 16:22:58 +0100
commitced4e122d9204e0e507f0a34c53f978c4d73c45d (patch)
treed22becd1906fd07959295ef1e2273c99e140bbb2 /db
parent02f3f3276c4d8c62791f4f76688f01af0f1ceb97 (diff)
downloadchouette-core-ced4e122d9204e0e507f0a34c53f978c4d73c45d.tar.bz2
import foreign keys from ninoxe
Diffstat (limited to 'db')
-rw-r--r--db/migrate/20130207123618_add_foreign_keys.ninoxe_engine.rb278
-rw-r--r--db/schema.rb50
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