sal*_*cer 6 svn migration ruby-on-rails rails-migrations
我在我工作的公司里是一个单人乐队.我开发了一个Rails应用程序供公司内部使用.从项目开始以来,我已经使用SVN进行源代码控制,并完成了大部分(但不是全部)在trunk中的开发.偶尔,当我做了非常重大的改变时,我已经分支并在完成后将更改合并回来.一切都很典型.
但是,我所做的那些"重大变化"都没有触及过数据库迁移.它们一直是视图/控制器的东西.
在这种情况下,使用一个开发框,我如何解决我可能会或可能不会保留的迁移和各种数据库更改?我不想记得在将分支丢弃之前将所有迁移恢复到分支的开头,如果它不起作用的话.
我已经考虑过设置特殊的开发环境和数据库(app_branch而不是app_development),但这似乎与实验开发倾向于依赖的"简单分支"概念有很大关系.
这种情况有最佳做法吗?在这种情况下,其他人在做什么?
好吧,如果您想要有不同的模式,您将需要多个数据库。“轻松分支”通常指的是源代码控制,而不是数据库。据我所知,没有像 git 那样对数据库进行分支的简单方法。
为了管理我们的开发/生产分支,我们要做的一件事是检查我们的database.yml 文件中当前的git 分支。如果当前分支是生产分支,我们使用一个数据库,否则我们使用我们的开发数据库。类似这样的事情:
<% if 'git branch' =~ /^\* production/
db = 'production_database'
else
db = 'development_database
end %>
development:
database: <% db %>
Run Code Online (Sandbox Code Playgroud)
请注意,“生产数据库”指的是生产模式的本地版本,而不是实时生产数据库。