aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Gemfile4
-rw-r--r--Gemfile.lock14
-rw-r--r--app/models/clean_up.rb27
-rw-r--r--db/migrate/20130207123618_add_foreign_keys.ninoxe_engine.rb278
-rw-r--r--db/schema.rb50
5 files changed, 352 insertions, 21 deletions
diff --git a/Gemfile b/Gemfile
index 06603da6b..eb2ae2de3 100644
--- a/Gemfile
+++ b/Gemfile
@@ -40,11 +40,11 @@ gem 'calendar_helper', :git => "git://github.com/topfunky/calendar_helper.git"
gem "acts_as_tree", :git => "git://github.com/dryade/acts_as_tree.git"
#gem 'ninoxe', :git => 'git://github.com/dryade/ninoxe.git'
-gem 'ninoxe', :git => 'git://github.com/dryade/ninoxe.git', :branch => 'V2_0_2'
+gem 'ninoxe', :git => 'git://github.com/dryade/ninoxe.git', :branch => 'master'
#gem 'ninoxe', :git => 'git://chouette.dryade.priv/ninoxe' #, :path => '~/Projects/Ninoxe'
#gem 'ninoxe', :path => '~/workspace/chouette/ninoxe'
gem 'acts_as_list', '0.1.6'
-
+gem 'foreigner', '>=1.3.0'
#gem 'composite_primary_keys', '~> 5.0.8'
gem 'delayed_job_active_record'
gem 'apartment',:git => 'git://github.com/dryade/apartment.git'
diff --git a/Gemfile.lock b/Gemfile.lock
index 3eb0851a7..9afc3d254 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -49,13 +49,14 @@ GIT
GIT
remote: git://github.com/dryade/ninoxe.git
- revision: 0f669a3b43179085fe3400792ae0faf00c884c93
- branch: V2_0_2
+ revision: fbc7d492337b48b4199ba7a6bc1db06579f356f1
+ branch: master
specs:
ninoxe (0.0.8)
GeoRuby
activerecord (>= 3.1.3)
acts_as_list (>= 0.1.6)
+ foreigner (>= 1.3.0)
geokit
rails (>= 3.1.3)
@@ -150,7 +151,7 @@ GEM
devise (2.1.2)
bcrypt-ruby (~> 3.0)
orm_adapter (~> 0.1)
- railties (~> 3.1)
+ railties (~> 3.1)fbc7d492337b48b4199ba7a6bc1db06579f356f1
warden (~> 1.2.1)
devise_invitable (1.1.0)
actionmailer (~> 3.0)
@@ -171,6 +172,8 @@ GEM
ffi (>= 1.0.0)
rake (~> 0.9)
rdoc
+ foreigner (1.3.0)
+ activerecord (>= 3.0.0)
formtastic (2.2.1)
actionpack (>= 3.0)
geokit (1.6.5)
@@ -200,8 +203,8 @@ GEM
jruby-rack (1.1.9)
jruby-rack-worker (0.4-java)
jruby-rack (>= 1.1.1)
- json (1.7.5)
- json (1.7.5-java)
+ json (1.7.6)
+ json (1.7.6-java)
json_pure (1.7.5)
launchy (2.1.0)
addressable (~> 2.2.6)
@@ -374,6 +377,7 @@ DEPENDENCIES
devise_invitable
factory_girl_rails (= 1.7)
ffi-proj4!
+ foreigner (>= 1.3.0)
formtastic
georuby-ext!
gravatar_image_tag
diff --git a/app/models/clean_up.rb b/app/models/clean_up.rb
index a6d26d882..70c763146 100644
--- a/app/models/clean_up.rb
+++ b/app/models/clean_up.rb
@@ -20,32 +20,33 @@ class CleanUp
end
def clean
+ # as foreign keys are presents , delete method can be used for faster performance
result = CleanUpResult.new
# find and remove time_tables
tms = Chouette::TimeTable.validity_out_from_on?(Date.parse(expected_date))
result.time_table_count = tms.size
tms.each do |tm|
- tm.destroy
+ tm.delete
end
# remove vehiclejourneys without timetables
Chouette::VehicleJourney.find_each(:conditions => "id not in (select distinct vehicle_journey_id from time_tables_vehicle_journeys)") do |vj|
if vj.time_tables.size == 0
result.vehicle_journey_count += 1
- vj.destroy
+ vj.delete
end
end
# remove journeypatterns without vehicle journeys
Chouette::JourneyPattern.find_each(:conditions => "id not in (select distinct journey_pattern_id from vehicle_journeys)") do |jp|
if jp.vehicle_journeys.size == 0
result.journey_pattern_count += 1
- jp.destroy
+ jp.delete
end
end
# remove routes without journeypatterns
Chouette::Route.find_each(:conditions => "id not in (select distinct route_id from journey_patterns)") do |r|
if r.journey_patterns.size == 0
result.route_count += 1
- r.destroy
+ r.delete
end
end
# if asked remove lines without routes
@@ -53,7 +54,7 @@ class CleanUp
Chouette::Line.find_each(:conditions => "id not in (select distinct line_id from routes)") do |l|
if l.routes.size == 0
result.line_count += 1
- l.destroy
+ l.delete
end
end
end
@@ -62,31 +63,31 @@ class CleanUp
Chouette::StopArea.find_each(:conditions => { :area_type => "BoardingPosition" }) do |bp|
if bp.stop_points.size == 0
result.stop_count += 1
- bp.destroy
+ bp.delete
end
end
Chouette::StopArea.find_each(:conditions => { :area_type => "Quay" }) do |q|
if q.stop_points.size == 0
result.stop_count += 1
- q.destroy
+ q.delete
end
end
Chouette::StopArea.find_each(:conditions => { :area_type => "CommercialStopPoint" }) do |csp|
if csp.children.size == 0
result.stop_count += 1
- csp.destroy
+ csp.delete
end
end
Chouette::StopArea.find_each(:conditions => { :area_type => "StopPlace" }) do |sp|
if sp.children.size == 0
result.stop_count += 1
- sp.destroy
+ sp.delete
end
end
Chouette::StopArea.find_each(:conditions => { :area_type => "ITL" }) do |itl|
if itl.routing_stops.size == 0
result.stop_count += 1
- itl.destroy
+ itl.delete
end
end
end
@@ -95,7 +96,7 @@ class CleanUp
Chouette::Company.find_each do |c|
if c.lines.size == 0
result.company_count += 1
- c.destroy
+ c.delete
end
end
end
@@ -105,7 +106,7 @@ class CleanUp
Chouette::Network.find_each do |n|
if n.lines.size == 0
result.network_count += 1
- n.destroy
+ n.delete
end
end
end
@@ -115,7 +116,7 @@ class CleanUp
Chouette::GroupOfLine.find_each do |n|
if n.lines.size == 0
result.group_of_line_count += 1
- n.destroy
+ n.delete
end
end
end
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