需要帮助为我的 Rails 应用程序创建 Structure.sql

问题描述 投票:0回答:1

我正在尝试手动创建/更新 db/struct.sql 文件以进行测试。我在 application.rb 中设置了“

config.active_record.schema_format = :sql
”。我想知道是否有一个相当于“
ActiveRecord::SchemaDumper.dump
”的命令可以创建或更新structural.sql。我尝试过 Structure_dump,但输出为零:

> ActiveRecord::Base.connection.structure_dump
=> nil

我还尝试将文件传递给该方法:

> File.open( File.join(Rails.root, 'db/structure.sql')) { |f| ActiveRecord::Base.connection.structure_dump() }
 => nil 

到目前为止,我能够生成或更新 db/struct.sql 的唯一方法是运行 rake db:migrate。还有其他选择吗?或者我在尝试运行 ActiveRecord::Base.connection.struction_dump 时丢失了某些内容?

ruby-on-rails activerecord
1个回答
57
投票

更新:

对于 Rails 7+ 使用

SCHEMA_FORMAT=sql rails db:schema:dump

旧答案:

尝试

rake db:structure:dump
这将从数据库中重新创建
db/structure.sql

对于最新版本的 Rails,命令

rake db:schema:dump
也适用于
db/structure.sql

© www.soinside.com 2019 - 2024. All rights reserved.