我一直在为正在开发的数据库使用 sqlite3,并且我的应用程序已经变得足够复杂,以至于使用起来有点慢。
我刚刚切换到 MySQL 并运行rake db:create ; rake db:migrate
,但我的一个迁移失败并显示以下错误消息:
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 一样工作。
我要疯了吗?我是否只是发明了这种方法,而它恰好是一个未记录的功能,仅适用于受支持的数据库的子集?
有没有人对此有所了解?