gpt4 book ai didi

sql - NHibernate 和数据库更改/部署

转载 作者:行者123 更新时间:2023-12-01 06:59:53 26 4
gpt4 key购买 nike

我正在考虑将 NHibernate 和 Fluent NHibernate 用于我的下一个项目,但我想事先弄清楚的一件事是如何管理对数据库的更改?

例如,我有 NH + FNH 工作,应用程序已部署并处于事件状态,但我们对开发环境进行了更改,例如,假设我们向使用 NH/FNH 映射的实体添加了一个新属性。

如何在不删除表的情况下将该更改应用到数据库?

谢谢
通用电气

最佳答案

我有很好的使用这个框架的经验:

http://code.google.com/p/migratordotnet/

基本上,您为每个数据库更改创建一个类并使用时间戳注释该类。然后按时间戳顺序应用最终组装。

这意味着在开发过程中很容易在每次结账后盲目地运行数据库升级过程,并知道你与世界同步。

using Migrator.Framework;
using System.Data;

namespace DBMigration
{
[Migration(20080401110402)]
public class CreateUserTable_001 : Migration
{
public void Up()
{
Database.CreateTable("User",
new Column("UserId", DbType.Int32,
ColumnProperties.PrimaryKeyWithIdentity),
new Column("Username", DbType.AnsiString, 25)
);
}

public void Down()
{
Database.RemoveTable("User");
}
}

关于sql - NHibernate 和数据库更改/部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2031712/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com