2

在早期版本的 Rails 中,由 db:structure:dump 生成的 structure.sql 文件以环境名称为前缀,但这个前缀似乎在最近的版本中已被删除(我使用的是 3.2.13)。该文件现在命名为 structure.sql,与生成它的环境无关。有谁知道这是什么原因?我还没有找到与此更改相关的任何文档。

查看源代码(在 lib/active_record/railties/databases.rake 中),似乎您仍然可以通过 DB_STRUCTURE 环境变量自定义结构文件名,但我想知道为什么更改了默认值。

4

1 回答 1

1

看起来有问题的提交是15fb430. 提交消息给出了原因:

schema_format :sql 应该表现得像 schema_format :ruby

当 schema_format 设置为 :sql 时,此提交添加了一个 db:structure:load 任务而不是 db:schema:load 运行。此补丁还删除了 structure.sql 文件的前缀,以模仿单个 schema.rb 文件的使用。该补丁源自 github 问题#715

于 2013-08-21T17:45:35.687 回答