From: Andy Allan Date: Sat, 8 Nov 2008 18:04:36 +0000 (+0000) Subject: Move db engine changing into db adaptor monkeypatch X-Git-Tag: live~7601^2~195 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/91374368faffee13ded82b9718078d5593e32fed Move db engine changing into db adaptor monkeypatch --- diff --git a/db/migrate/002_cleanup_osm_db.rb b/db/migrate/002_cleanup_osm_db.rb index 1358febd8..f283602ac 100644 --- a/db/migrate/002_cleanup_osm_db.rb +++ b/db/migrate/002_cleanup_osm_db.rb @@ -29,7 +29,7 @@ class CleanupOsmDb < ActiveRecord::Migration change_column "current_ways", "user_id", :bigint, :limit => 20, :null => false change_column "current_ways", "timestamp", :datetime, :null => false change_column "current_ways", "visible", :boolean, :null => false - execute "ALTER TABLE current_ways ENGINE = InnoDB" + change_engine "current_ways", "InnoDB" change_column "diary_entries", "title", :string, :null => false change_column "diary_entries", "body", :text, :null => false @@ -191,7 +191,7 @@ class CleanupOsmDb < ActiveRecord::Migration change_column "diary_entries", "body", :text change_column "diary_entries", "title", :string, :default => nil - execute "ALTER TABLE current_ways ENGINE = MyISAM" + change_engine "current_ways", "MyISAM" change_column "current_ways", "visible", :boolean change_column "current_ways", "timestamp", :datetime change_column "current_ways", "user_id", :bigint, :limit => 20 diff --git a/db/migrate/003_sql_session_store_setup.rb b/db/migrate/003_sql_session_store_setup.rb index 7b1c75479..4de0dd4b1 100644 --- a/db/migrate/003_sql_session_store_setup.rb +++ b/db/migrate/003_sql_session_store_setup.rb @@ -1,6 +1,6 @@ class SqlSessionStoreSetup < ActiveRecord::Migration def self.up - create_table "sessions", :options => "ENGINE=InnoDB" do |t| + create_table "sessions", :options => innodb_option do |t| t.column "session_id", :string t.column "data", :text t.column "created_at", :timestamp diff --git a/db/migrate/019_move_to_innodb.rb b/db/migrate/019_move_to_innodb.rb index d17da8fd5..2e9f4adaa 100644 --- a/db/migrate/019_move_to_innodb.rb +++ b/db/migrate/019_move_to_innodb.rb @@ -14,7 +14,7 @@ class MoveToInnodb < ActiveRecord::Migration } @@conv_tables.each { |tbl| - execute "ALTER TABLE #{tbl} ENGINE = InnoDB" + change_engine (tbl, "InnoDB") } @@ver_tbl.each { |tbl| diff --git a/lib/migrate.rb b/lib/migrate.rb index 77bc93646..df7e5f7ae 100644 --- a/lib/migrate.rb +++ b/lib/migrate.rb @@ -73,6 +73,14 @@ module ActiveRecord def innodb_table return { :id => false, :force => true, :options => "ENGINE=InnoDB" } end + + def innodb_option + return "ENGINE=InnoDB" + end + + def change_engine (table_name, engine) + execute "ALTER TABLE #{table_name} ENGINE = #{engine}" + end end end end