我正在开发一个rails应用程序,我在开发环境中使用Sqlite,在生产中使用PostgreSQL。有没有办法编写“数据库感知”迁移?即一个execute
在Sqlite上的某个SQL语句和一个关于Postgres的差异语句?
答案 0 :(得分:0)
您应该能够写出类似的内容:
class MyMigration < ActiveRecord::Migration
def up
if ActiveRecord::Base.connection.kind_of? ActiveRecord::ConnectionAdapters::SQLite3Adapter
execute 'SQL Statement...'
else
execute 'Different SQL Statement...'
end
end
def down
...
end
end
这不是我必须实现的,所以我不知道任何陷阱。