我刚开始学习Rails,正在试图弄清楚rake db:create和rake db:migrate是否具有幂等性。
换句话说,我能否反复在我的数据库(Postgres或MySQL)上运行这两个命令而不会造成问题?
这样做的想法是为了自动化Rails部署,并让这些命令在每次部署Rails应用程序时运行。我想确保它不会以某种方式破坏数据库。
关于rake db迁移的幂等性的任何其他注意事项都非常感谢。
换句话说,我能否反复在我的数据库(Postgres或MySQL)上运行这两个命令而不会造成问题?
这样做的想法是为了自动化Rails部署,并让这些命令在每次部署Rails应用程序时运行。我想确保它不会以某种方式破坏数据库。
关于rake db迁移的幂等性的任何其他注意事项都非常感谢。
db:seeds
,根据你的结构,它可能会每次运行时都创建新记录。但既然你自己编写了代码,你也可以检查必要的记录是否已经存在,只有在必要时才创建它们。 - Stuart Mrake db:setup
不是幂等的。从3.1.12版本开始,它会运行db:schema:load
和db:seed
。 - platforms