首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >亚音速增量开发

亚音速增量开发
EN

Stack Overflow用户
提问于 2010-03-06 22:44:01
回答 2查看 155关注 0票数 0

我正在启动一个网站项目。我的计划是首先以一种基本的形式推出网站,然后在此过程中添加站点功能。

我使用Subsonic 3作为我的DAL,我期待数据库将通过多个版本,随着网站的发展。这意味着我需要某种版本控制和迁移工具。我知道Subsonic已经建立了迁移的可能性,但是在我的场景中,我很难掌握如何使用这些工具。

首先是SimpleRepository模型,在我开发我的站点时,Subsonic“自动”处理迁移。我可以看到这在我的开发机器上是如何工作的,但是我不知道如何用它来处理部署。

  • Subsonic是否会像调用适当的方法那样在我的活动站点上运行必要的迁移?
  • 在使用Simplerepository模型时,是否可以在站点离线时强制在站点上进行所有必要的迁移?(否则,当迁移例程开始时,随机用户会经历严重的性能下降)
  • 我最好还是使用ActiveRecord模型,然后用Subsonic.Schema.Migrator处理迁移吗?(我怀疑是这样)
  • 你知道有什么好的资源来解释如何用移行器来处理这种情况吗?(我读过文档,但我无法拼凑出我将如何在实践中使用它)

谢谢你的倾听/回复。

问候

杰斯珀·豪格

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-03-09 19:21:39

我建议不要对现场进行迁移。SubSonic的迁移实际上是为了使开发变得更简单,不应该被用于针对实际环境的开发。老实说,即使使用SubSonic.Schema.Migrator,您仍然会遇到这样一个事实,即重构数据库是一个非常困难的问题。例如,使用management重命名表中的列很简单,但是后台发生的事情包括创建一个全新的表,并在重命名新表之前迁移所有约束、数据等等。我发现处理这个问题最有效的方法是:

  1. 在开发环境中编写所有数据库更改脚本(将为您完成此操作),并将这些脚本添加到源代码管理中。
  2. 作为部署的一部分(显然,首先是备份),运行迁移脚本,然后成功地部署更新的应用程序。

那么,是否使用ActiveRecord或SimpleRepository取决于您是否需要ActiveRecord的额外特性/复杂性。

希望这能有所帮助

票数 1
EN

Stack Overflow用户

发布于 2010-03-08 18:06:03

我会使用activerecord易于使用和任何更改,您只是运行TT文件,然后您只需构建或发布您的反编译和完成?SVN将保留您的多个版本的构建阶段,因此,如果您做了一个乳头,您只需放弃一个修订。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2394350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档