![]() |
1
2
在项目开始时,让buildschema生成模式可能是可行的,但是一旦您启动并运行了一些关键质量(或者如果您向其他人发布了任何内容),您就需要将代码中的更改与模式中的更改协调起来。这不适用于buildschema方法。 在我们的项目中,我们为需要数据库更改的每个变更集创建升级和降级脚本。我们还没有自动化这个过程,但是实践允许开发人员通过运行增量更改脚本来获得当前版本,并通过运行降级脚本返回到以前的版本。 每个脚本都是自己的文件,可以包含对ddl和/或dml的多个更改以迁移数据等。 我们只在有与以前版本不兼容的更改时才真正使用降级(这在我们的项目中很少见)。 |
![]() |
2
2
为了尽可能接近领域驱动的设计方法,我在开发期间使用nhibernate来构建我的模式。一旦应用程序达到了某种程度的稳定性(领域模型搅动已经大大减缓)或者达到了里程碑式的发布,我就切换到k.scott allen在他的博客上讨论的方法。 斯科特艾伦的博客文章 database schema versioning ash tewari实现了一个使用nhibernate的变更脚本管理系统,该系统基于allen的博客文章。 Ash Tewari DbUpdater |
![]() |
Community wiki · SQL语法新手 1 年前 |
|
KateMak · 是否将多行中的多列与唯一id组合? 1 年前 |
![]() |
Karuna · SQL中列内的筛选器[重复] 1 年前 |
![]() |
Irvan Affandy · 为另一个选择选择声明的键 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |