Schema.rb文件的用途究竟是什么?
答案 0 :(得分:6)
运行迁移时,它是生成的文件。据我所知,它有两个用途:
rake db:schema:load
一次性加载数据库,而不必浏览迁移答案 1 :(得分:3)
每次执行迁移时都会重现此文件。它会重现数据库的整个架构。在Rails中迁移中的某些命令也会使用它,以避免逐个重做所有迁移(例如,在迁移重置的情况下)。
它也是唯一可以同时查看所有表格以供列参考的地方。但我建议您使用gem annotate来记录具有所有列名称的模型。这样工作比在每次需要有关模型数据库结构的详细信息时都必须转到schema.rb更容易。
答案 2 :(得分:2)
schema.rb的一个很好的用法是每当我们运行rake测试时,它会立即使用schema.rb准备测试数据库(不运行迁移)。