将Ruby ActiveRecord :: Migration语法转换为SQL语法

时间:2019-01-13 16:57:21

标签: ruby-on-rails postgresql

有没有一种方法可以转换模式的语法。

例如,如何将其转换为sql语法?

create_table :authors do |t|
  t.string :name, null: false
end

应该返回

CREATE TABLE authors(name varchar NOT NULL)

1 个答案:

答案 0 :(得分:0)

您不能将Active Record迁移直接转换为sql,但是,可以将架构输出设置为原始sql: config/application.rb

 config.active_record.schema_format = :sql

执行此操作的另一种方法可能是运行迁移,使用db:rollback将其回滚,然后在日志文件中查找原始sql。

有多种方法可以用来处理自定义rake任务。例如,在其上here is a very nice article

Further reading可能有用。