From 30b06cf38be09a35d7bb5669b2e72912a5a45280 Mon Sep 17 00:00:00 2001 From: Nathan Bertram Date: Sun, 28 Jul 2013 16:57:39 -0500 Subject: [PATCH 1/2] Rails 4 compatibility --- convert.rake | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/convert.rake b/convert.rake index d63f2fb..296f6fa 100644 --- a/convert.rake +++ b/convert.rake @@ -79,8 +79,14 @@ namespace :db do ActiveRecord::Base.establish_connection(:production) (ActiveRecord::Base.connection.tables - skip_tables).each do |table_name| - ProductionModelClass.set_table_name(table_name) - DevelopmentModelClass.set_table_name(table_name) + if Rails::VERSION::MAJOR == 4 + ProductionModelClass.table_name = table_name + DevelopmentModelClass.table_name = table_name + else + ProductionModelClass.set_table_name(table_name) + DevelopmentModelClass.set_table_name(table_name) + end + DevelopmentModelClass.establish_connection(:development) DevelopmentModelClass.reset_column_information ProductionModelClass.reset_column_information @@ -102,7 +108,11 @@ namespace :db do models.each do |model| new_model = DevelopmentModelClass.new(model.attributes) new_model.id = model.id - new_model.save(false) + if Rails::VERSION::MAJOR == 4 + new_model.save(:validate => false) + else + new_model.save(false) + end end end end From 95432fa7932493c4b3f326cf4e49e1a8866c04b1 Mon Sep 17 00:00:00 2001 From: Nathan Bertram Date: Sat, 3 Aug 2013 15:42:37 -0500 Subject: [PATCH 2/2] For Mysql -> PG fixes ERROR: duplicate key value violates unique constraint --- convert.rake | 2 ++ 1 file changed, 2 insertions(+) diff --git a/convert.rake b/convert.rake index 296f6fa..f26e85c 100644 --- a/convert.rake +++ b/convert.rake @@ -114,6 +114,8 @@ namespace :db do new_model.save(false) end end + + DevelopmentModelClass.connection.execute("SELECT setval('#{table_name}_id_seq', (SELECT MAX(id) FROM #{table_name})+1); ") end end print "#{count} records converted\n"