11
我试图手动创建/更新用于测试目的的db/structure.sql文件。我在application.rb中设置了“config.active_record.schema_format = :sql
”。我想知道是否有相当于“ActiveRecord::SchemaDumper.dump
”的命令来创建或更新structure.sql。我试过structure_dump,但产量为零:需要帮助为我的Rails应用程序创建structure.sql
> ActiveRecord::Base.connection.structure_dump
=> nil
我也试过路过一个文件到方法:
> File.open(File.join(Rails.root, 'db/structure.sql')) { |f| ActiveRecord::Base.connection.structure_dump() }
=> nil
到目前为止,我已经能够产生的唯一途径或更新db/structure.sql是通过运行rake db:migrate。任何替代品?或者当我尝试运行ActiveRecord :: Base.connection.structure_dump时错过了一些东西?
'rake db:schema:dump'只是重新生成schema.rb。我想要得到structure.sql。 – MothOnMars 2013-03-01 00:49:57
我的不好。忘了你使用的是sql格式。请参阅更新的答案 – jvnill 2013-03-01 00:54:55
感谢您的更新。我真的想知道是否有一个非耙子任务的方式来做这件事,仅仅因为我会从测试中调用它,并且调用耙子任务似乎不应该是必要的(尽管我很新Rails,所以我可能会假设太多)。我在想,如果ActiveRecord :: SchemaDumper.dump是等效于rake db:schema:dump的命令,那么可能存在与rake db类似的单行命令:structure:dump ...? – MothOnMars 2013-03-01 01:09:07