将所有以前的迁移文件保存在rails中的目的是什么?

Sam*_*D20 2 ruby migration ruby-on-rails

我假设每当rails应用程序需要构建数据库时,它将通过按时间戳顺序遍历所有迁移文件来实现.它是否正确?

还是有其他原因吗?

sev*_*cat 9

不 - 从头开始​​构建数据库时,您应该只使用位于的模式文件schema.rb.您可以使用此方法创建数据库模式rake db:schema:load.

保持迁移的关键是,如果有人检出你的项目的一个版本,然后一个月后他们想要将它更新到最新版本,他们需要逐步知道如何从数据库结构到数据库结构现在 - 不会丢失任何数据.因此,他们可以在这两点之间运行迁移,这将逐步将数据库转换为最新版本.