開発中のデータベースにsqlite3を使用してきましたが、アプリが複雑になり、操作が少し遅くなりました。
MySQLに切り替えて実行rake db:create ; rake db:migrate
したところ、移行の1つが失敗し、次のエラーメッセージが表示されました。
undefined method `alter_table` for #<ActiveRecord::ConnectionAdapters::MysqlAdapter:0xb6e6088c>
私は簡単なグーグルを持っていて、何も見つかりませんでした。次に、APIを確認しましたが、文書化されたメソッドはありませんalter_table
。ただし、sqlite3では機能します。
これが私の移行です:
class AddSettingsToUsers < ActiveRecord::Migration
def self.up
alter_table :users do |t|
t.text signature
...
end
end
...
end
これはsqlite3で期待どおりに機能します。
私は夢中になりますか?私はこの方法を発明したばかりで、サポートされているデータベースのサブセットでのみ機能する文書化されていない機能でしたか?
誰かがこれについていくつかの洞察を持っていますか?