diff options
| author | Xinhui | 2016-12-13 11:52:04 +0100 |
|---|---|---|
| committer | RobertDober | 2017-04-11 15:39:41 +0200 |
| commit | a25a143e277da4f29c0eef88e5aad67a414f6d22 (patch) | |
| tree | 659c41c785bf5cd1d182d82efe35459cfa97e7a7 | |
| parent | fd22ccc787957d9a30942281f0a2c1e05b474646 (diff) | |
| download | chouette-core-a25a143e277da4f29c0eef88e5aad67a414f6d22.tar.bz2 | |
Rewrite foreigner key using rails add_foreign_key
refs #2070
9 files changed, 184 insertions, 295 deletions
@@ -111,7 +111,6 @@ gem 'active_attr' gem 'draper' gem 'enumerize', '~> 0.10.0' -gem 'foreigner', '~> 1.7.4' gem 'deep_cloneable', '~> 2.0.0' gem 'acts-as-taggable-on', '~> 4.0.0' diff --git a/db/migrate/20130207123618_add_foreign_keys.ninoxe_engine.rb b/db/migrate/20130207123618_add_foreign_keys.ninoxe_engine.rb index cab9d13f0..da4ee27de 100644 --- a/db/migrate/20130207123618_add_foreign_keys.ninoxe_engine.rb +++ b/db/migrate/20130207123618_add_foreign_keys.ninoxe_engine.rb @@ -2,277 +2,165 @@ 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 + def disable_foreign_key(table, name) + if foreign_key?(table, name) + remove_foreign_key table, 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 + + def foreign_key?(table, name) + @connection.foreign_keys(table).any? do |foreign_key| + foreign_key.options[:name] == name.to_s 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 - + + def up + disable_foreign_key :access_links, :aclk_acpt_fkey + disable_foreign_key :access_links, :aclk_area_fkey + + add_foreign_key :access_links, :access_points, dependent: :cascade, :name => 'aclk_acpt_fkey' + add_foreign_key :access_links, :stop_areas, dependent: :cascade, :name => 'aclk_area_fkey' + + disable_foreign_key :access_points, :access_area_fkey + add_foreign_key :access_points, :stop_areas, dependent: :cascade, name: :access_area_fkey + + disable_foreign_key :connection_links, :colk_endarea_fkey + disable_foreign_key :connection_links, :colk_startarea_fkey + + add_foreign_key :connection_links, :stop_areas, :on_delete => :cascade, :column => 'arrival_id', :name => 'colk_endarea_fkey' + add_foreign_key :connection_links, :stop_areas, :on_delete => :cascade, :column => 'departure_id', :name => 'colk_startarea_fkey' + + disable_foreign_key :group_of_lines_lines, :groupofline_group_fkey + disable_foreign_key :group_of_lines_lines, :groupofline_line_fkey + + add_foreign_key :group_of_lines_lines, :group_of_lines, :on_delete => :cascade, :name => 'groupofline_group_fkey' + add_foreign_key :group_of_lines_lines, :lines, :on_delete => :cascade, :name => 'groupofline_line_fkey' + + + disable_foreign_key :journey_patterns, :arrival_point_fkey + disable_foreign_key :journey_patterns, :departure_point_fkey + disable_foreign_key :journey_patterns, :jp_route_fkey + + add_foreign_key :journey_patterns, :stop_points, :on_delete => :nullify, :column => 'arrival_stop_point_id', :name => 'arrival_point_fkey' + add_foreign_key :journey_patterns, :stop_points, :on_delete => :nullify, :column => 'departure_stop_point_id', :name => 'departure_point_fkey' + add_foreign_key :journey_patterns, :routes, :on_delete => :cascade, :name => 'jp_route_fkey' + + disable_foreign_key :journey_patterns_stop_points, :jpsp_jp_fkey + disable_foreign_key :journey_patterns_stop_points, :jpsp_stoppoint_fkey + + add_foreign_key :journey_patterns_stop_points, :journey_patterns, :on_delete => :cascade, :name => 'jpsp_jp_fkey' + add_foreign_key :journey_patterns_stop_points, :stop_points, :on_delete => :cascade, :name => 'jpsp_stoppoint_fkey' + + disable_foreign_key :lines, :line_company_fkey + disable_foreign_key :lines, :line_ptnetwork_fkey + + add_foreign_key :lines, :companies, :on_delete => :nullify, :name => 'line_company_fkey' + add_foreign_key :lines, :networks, :on_delete => :nullify, :name => 'line_ptnetwork_fkey' + + disable_foreign_key :routes, :route_line_fkey + add_foreign_key :routes, :lines, :on_delete => :cascade, :name => 'route_line_fkey' + + + disable_foreign_key :routing_constraints_lines, :routingconstraint_line_fkey + disable_foreign_key :routing_constraints_lines, :routingconstraint_stoparea_fkey + + add_foreign_key :routing_constraints_lines, :lines, :on_delete => :cascade, :name => 'routingconstraint_line_fkey' + add_foreign_key :routing_constraints_lines, :stop_areas, :on_delete => :cascade, :name => 'routingconstraint_stoparea_fkey' + + + + disable_foreign_key :stop_areas, :area_parent_fkey + add_foreign_key :stop_areas, :stop_areas, :on_delete => :nullify, :column => 'parent_id', :name => 'area_parent_fkey' + + disable_foreign_key :stop_areas_stop_areas, :stoparea_child_fkey + disable_foreign_key :stop_areas_stop_areas, :stoparea_parent_fkey + + add_foreign_key :stop_areas_stop_areas, :stop_areas, :on_delete => :cascade, :column => 'child_id', :name => 'stoparea_child_fkey' + add_foreign_key :stop_areas_stop_areas, :stop_areas, :on_delete => :cascade, :column => 'parent_id', :name => 'stoparea_parent_fkey' + + disable_foreign_key :stop_points, :stoppoint_area_fkey + disable_foreign_key :stop_points, :stoppoint_route_fkey + + add_foreign_key :stop_points, :stop_areas, :name => 'stoppoint_area_fkey' + add_foreign_key :stop_points, :routes, :on_delete => :cascade, :name => 'stoppoint_route_fkey' + + disable_foreign_key :time_table_dates, :tm_date_fkey + add_foreign_key :time_table_dates, :time_tables, :on_delete => :cascade, :name => 'tm_date_fkey' + + + disable_foreign_key :time_table_periods, :tm_period_fkey + add_foreign_key :time_table_periods, :time_tables, :on_delete => :cascade, :name => 'tm_period_fkey' + + disable_foreign_key :time_tables_vehicle_journeys, :vjtm_tm_fkey + disable_foreign_key :time_tables_vehicle_journeys, :vjtm_vj_fkey + add_foreign_key :time_tables_vehicle_journeys, :time_tables, :on_delete => :cascade, :name => 'vjtm_tm_fkey' + add_foreign_key :time_tables_vehicle_journeys, :vehicle_journeys, :on_delete => :cascade, :name => 'vjtm_vj_fkey' + + + disable_foreign_key :vehicle_journey_at_stops, :vjas_sp_fkey + disable_foreign_key :vehicle_journey_at_stops, :vjas_vj_fkey + add_foreign_key :vehicle_journey_at_stops, :stop_points, :on_delete => :cascade, :name => 'vjas_sp_fkey' + add_foreign_key :vehicle_journey_at_stops, :vehicle_journeys, :on_delete => :cascade, :name => 'vjas_vj_fkey' + + + disable_foreign_key :vehicle_journeys, :vj_company_fkey + disable_foreign_key :vehicle_journeys, :vj_jp_fkey + disable_foreign_key :vehicle_journeys, :vj_route_fkey + + add_foreign_key :vehicle_journeys, :companies, :on_delete => :nullify, :name => 'vj_company_fkey' + add_foreign_key :vehicle_journeys, :journey_patterns, :on_delete => :cascade, :name => 'vj_jp_fkey' + add_foreign_key :vehicle_journeys, :routes, :on_delete => :cascade, :name => 'vj_route_fkey' 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 + remove_foreign_key :access_links, :name => :aclk_acpt_fkey + remove_foreign_key :access_links, :name => :aclk_area_fkey + + remove_foreign_key :access_points, :name => :access_area_fkey + + remove_foreign_key :connection_links, :name => :colk_endarea_fkey + remove_foreign_key :connection_links, :name => :colk_startarea_fkey + + remove_foreign_key :group_of_lines_lines, :name => :groupofline_group_fkey + remove_foreign_key :group_of_lines_lines, :name => :groupofline_line_fkey + + remove_foreign_key :journey_patterns, :name => :arrival_point_fkey + remove_foreign_key :journey_patterns, :name => :departure_point_fkey + remove_foreign_key :journey_patterns, :name => :jp_route_fkey + + remove_foreign_key :journey_patterns_stop_points, :name => :jpsp_jp_fkey + remove_foreign_key :journey_patterns_stop_points, :name => :jpsp_stoppoint_fkey + + remove_foreign_key :lines, :name => :line_company_fkey + remove_foreign_key :lines, :name => :line_ptnetwork_fkey + + remove_foreign_key :routes, :name => :route_line_fkey + + remove_foreign_key :routing_constraints_lines, :name => :routingconstraint_line_fkey + remove_foreign_key :routing_constraints_lines, :name => :routingconstraint_stoparea_fkey + + remove_foreign_key :stop_areas, :name => :area_parent_fkey + + remove_foreign_key :stop_areas_stop_areas, :name => :stoparea_child_fkey + remove_foreign_key :stop_areas_stop_areas, :name => :stoparea_parent_fkey + + remove_foreign_key :stop_points, :name => :stoppoint_area_fkey + remove_foreign_key :stop_points, :name => :stoppoint_route_fkey + + remove_foreign_key :time_table_dates, :name => :tm_date_fkey + + remove_foreign_key :time_table_periods, :name => :tm_period_fkey + + remove_foreign_key :time_tables_vehicle_journeys, :name => :vjtm_tm_fkey + remove_foreign_key :time_tables_vehicle_journeys, :name => :vjtm_vj_fkey + + remove_foreign_key :vehicle_journey_at_stops, :name => :vjas_sp_fkey + remove_foreign_key :vehicle_journey_at_stops, :name => :vjas_vj_fkey + + remove_foreign_key :vehicle_journeys, :name => :vj_company_fkey + remove_foreign_key :vehicle_journeys, :name => :vj_jp_fkey + remove_foreign_key :vehicle_journeys, :name => :vj_route_fkey + end end diff --git a/db/migrate/20131029110239_create_import_tasks.rb b/db/migrate/20131029110239_create_import_tasks.rb index fa2faec37..ae1c45e40 100644 --- a/db/migrate/20131029110239_create_import_tasks.rb +++ b/db/migrate/20131029110239_create_import_tasks.rb @@ -13,8 +13,8 @@ class CreateImportTasks < ActiveRecord::Migration t.text :result # import report : objects statistics t.text :progress_info # percentage of progress and step code t.timestamps - t.foreign_key :referentials, :dependent => :delete end + add_foreign_key :import_tasks, :referentials, :on_delete => :cascade end end diff --git a/db/migrate/20131029115751_create_compliance_check_tasks.rb b/db/migrate/20131029115751_create_compliance_check_tasks.rb index 9195556b2..897700a1e 100644 --- a/db/migrate/20131029115751_create_compliance_check_tasks.rb +++ b/db/migrate/20131029115751_create_compliance_check_tasks.rb @@ -11,9 +11,9 @@ class CreateComplianceCheckTasks < ActiveRecord::Migration t.string :user_name # name of the user who has requested this task t.text :progress_info # percentage of progress and step code t.timestamps - t.foreign_key :referentials, :dependent => :delete - t.foreign_key :import_tasks, :dependent => :delete end + add_foreign_key :compliance_check_tasks, :referentials, :on_delete => :cascade + add_foreign_key :compliance_check_tasks, :import_tasks, :on_delete => :cascade end end diff --git a/db/migrate/20131029115820_create_compliance_check_results.rb b/db/migrate/20131029115820_create_compliance_check_results.rb index 8b72aa4c0..7f5c8e436 100644 --- a/db/migrate/20131029115820_create_compliance_check_results.rb +++ b/db/migrate/20131029115820_create_compliance_check_results.rb @@ -9,8 +9,8 @@ class CreateComplianceCheckResults < ActiveRecord::Migration t.integer :violation_count # number of violation occurences t.text :detail # detail of violation location t.timestamps - t.foreign_key :compliance_check_tasks, :dependent => :delete end + add_foreign_key :compliance_check_results, :compliance_check_tasks, :on_delete => :cascade end end diff --git a/db/migrate/20150312104557_set_default_value_for_data_format_in_organisation.rb b/db/migrate/20150312104557_set_default_value_for_data_format_in_organisation.rb index 03d48e0bb..cc99366b1 100644 --- a/db/migrate/20150312104557_set_default_value_for_data_format_in_organisation.rb +++ b/db/migrate/20150312104557_set_default_value_for_data_format_in_organisation.rb @@ -1,7 +1,22 @@ class SetDefaultValueForDataFormatInOrganisation < ActiveRecord::Migration def change - Organisation.where(data_format: nil).update_all(data_format: "neptune") - execute "update referentials set data_format = organisations.data_format from organisations where referentials.data_format is null and referentials.organisation_id = organisations.id" + Organisation.all.each do |organisation| + if organisation.data_format.neptune? + organisation.update_attribute(:data_format, "neptune") + end + end + Referential.all.each do |referential| + if referential.data_format.neptune? + referential.update_attribute :data_format, "neptune" + elsif referential.data_format.netex? + referential.update_attribute :data_format, "netex" + elsif referential.data_format.gtfs? + referential.update_attribute :data_format, "gtfs" + elsif referential.data_format.hub? + referential.update_attribute :data_format, "hub" + end + end + change_column :organisations, :data_format, :string, :default => "neptune" end end diff --git a/db/migrate/20150526081746_add_foreign_key_to_routes.ninoxe_engine.rb b/db/migrate/20150526081746_add_foreign_key_to_routes.ninoxe_engine.rb index 32e2a05e4..3594bfe49 100644 --- a/db/migrate/20150526081746_add_foreign_key_to_routes.ninoxe_engine.rb +++ b/db/migrate/20150526081746_add_foreign_key_to_routes.ninoxe_engine.rb @@ -2,28 +2,15 @@ class AddForeignKeyToRoutes < ActiveRecord::Migration require "forwardable" def up - Chouette::Route.all.map do |route| - if route.opposite_route_id.present? && !Chouette::Route.exists?(route.opposite_route_id) + Chouette::Route.all.map do |route| + if route.opposite_route_id.present? && !Chouette::Route.exists?(route.opposite_route_id) route.update_attributes :opposite_route_id => nil - end - 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_opposite_route_fkey" ) - remove_foreign_key :routes, :name => name - end - end - end - t.foreign_key :routes, :dependent => :nullify, :column => 'opposite_route_id', :name => 'route_opposite_route_fkey' + end end - + add_foreign_key :routes, :routes, dependent: :nullify, name: 'route_opposite_route_fkey', column: 'opposite_route_id' end def down - change_table :routes do |t| - t.remove_foreign_key :name => :route_opposite_route_fkey - end + remove_foreign_key :routes, name: :route_opposite_route_fkey end end diff --git a/db/migrate/20151203132113_create_journey_pattern_sections.ninoxe_engine.rb b/db/migrate/20151203132113_create_journey_pattern_sections.ninoxe_engine.rb index 254e64567..3cfb245cf 100644 --- a/db/migrate/20151203132113_create_journey_pattern_sections.ninoxe_engine.rb +++ b/db/migrate/20151203132113_create_journey_pattern_sections.ninoxe_engine.rb @@ -5,11 +5,11 @@ class CreateJourneyPatternSections < ActiveRecord::Migration t.references :journey_pattern, null: false, index: true, limit: 8 t.references :route_section, null: false, index: true, limit: 8 t.integer :rank, null: false - t.foreign_key :journey_patterns, dependent: :delete - t.foreign_key :route_sections, dependent: :delete - t.timestamps end + add_foreign_key :journey_pattern_sections, :journey_patterns, on_delete: :cascade + add_foreign_key :journey_pattern_sections, :route_sections, on_delete: :cascade + add_index :journey_pattern_sections, [:journey_pattern_id, :route_section_id, :rank], unique: true, name: 'index_jps_on_journey_pattern_id_and_route_section_id_and_rank' end diff --git a/db/migrate/20151215175635_add_limit_and_foreign_key_to_journey_frequencies.ninoxe_engine.rb b/db/migrate/20151215175635_add_limit_and_foreign_key_to_journey_frequencies.ninoxe_engine.rb index fc8869f1c..c69ae12f5 100644 --- a/db/migrate/20151215175635_add_limit_and_foreign_key_to_journey_frequencies.ninoxe_engine.rb +++ b/db/migrate/20151215175635_add_limit_and_foreign_key_to_journey_frequencies.ninoxe_engine.rb @@ -3,8 +3,8 @@ class AddLimitAndForeignKeyToJourneyFrequencies < ActiveRecord::Migration def up change_column :journey_frequencies, :vehicle_journey_id, :integer, limit: 8 change_column :journey_frequencies, :timeband_id, :integer, limit: 8 - add_foreign_key :journey_frequencies, :vehicle_journeys, dependent: :nullify - add_foreign_key :journey_frequencies, :timebands, dependent: :nullify + add_foreign_key :journey_frequencies, :vehicle_journeys, on_delete: :nullify + add_foreign_key :journey_frequencies, :timebands, on_delete: :nullify end def down |
