【发布时间】:2012-03-20 03:30:45
【问题描述】:
我们正在开发一个使用 Entity Framework 4(代码优先)和 Fluent Migrator 的项目。
在整个项目过程中,我们为所有架构更改创建了迁移,并为我们希望在各种环境中填充的测试数据创建了配置文件。
但是,插入我们希望在所有环境中填充的“代码”和/或“状态”的最佳做法是什么?我们应该在创建表时指定它们还是应该为它们创建一个特定的配置文件?
更具体地说,我们有一个为我们的数据库定义的地址类型的“代码”表,如下所示:
[Migration(22)]
public class M0022_CreateAddressTypesTable : Migration
{
public override void Up()
{
Create.Table("AddressTypes")
.WithColumn("Id").AsInt32().NotNullable().PrimaryKey()
.WithColumn("Name").AsString(50).NotNullable().WithDefaultValue(string.Empty)
.WithColumn("Description").AsString(100).NotNullable().WithDefaultValue(string.Empty);
}
public override void Down()
{
Delete.FromTable("AddressTypes");
Delete.Table("AddressTypes");
}
}
那么,我们是否应该利用这个机会也用我们的数据填充 AddressTypes 表?还是我们应该将其抽象为某种形式的配置文件?
我看到两者的优点和缺点,所以我很想听听其他团队是如何处理这种情况的。
【问题讨论】:
-
你最后做了什么?我们有同样的问题...
标签: c# fluent-migrator schema-migration