如果我理解正确,如果我跑:
rm deveopment.sqlite3 schema.rb
它将删除数据库文件和模式文件,然后我重新创建rake db migrate文件,但是我必须删除整个博客并从头开始,否则这些命令会让我保持加载的博客结构文件只是重新创建数据库?不确定哪个选项最好。
答案 0 :(得分:0)
.sqlite3文件是SQLite安装中的实际DataBase。
schema.rb文件是数据库结构的时间点表示。这意味着每次更改数据库的结构(添加表,删除表,向表中添加字段,添加或删除索引等)时,此文件将通过rake更改以反映当前的结构数据库。请注意,该文件中没有数据。
如果删除数据库(以及schema.rb文件)a
rake db:setup
实际上会执行以下三个rake命令:
rake db:create
rake db:migrate
rake db:seed
因此,如果您的迁移完好无损且种子文件完好无损,则删除schema.rb和* .sqlite3文件将清除该数据库(及其所有数据)以及当前数据库架构的反映,但不会迁移文件或种子数据。您将能够使用
重新生成数据库(仅包含种子数据,没有其他数据)rake db:setup
请注意,development.sqlite3是可能存在的3个不同数据库之一,其他数据库是生产和测试。
但是,如果您愿意重置基数,那么更好的方法是
rake db:reset
如果您需要更多相关信息,请阅读Migrations Guide。