我目前从Git中排除了development.sqlite3
,这样我就可以保持git status
干净,除非文件实际发生了变化。
但是,当我想要检查早期版本依赖于不同数据库(和虚拟数据)的早期版本时,我最终得到的代码和数据库不同步。
因为我没有将我的dev数据库检入Git,所以很难重置该环境。我不能只重建数据库,因为它需要它中的所有虚拟信息。
是否有一种快乐的媒介,我可以每天自动将我的数据库备份到Git(或者每次创建一个标签时),但仍然可以在Git .ignore
中将其排除?
答案 0 :(得分:4)
如果您需要数据库才能正常运行,或者数据有助于您开发,那么我认为您应该使用种子文件来定义它们。然后,当您签出以前的版本时,首先运行迁移,然后:
rake db:seed
如果您在反映数据库状态时更新种子文件,那么无论您检查哪种修订版本,您都可以生成正确的数据。