gpt4 book ai didi

c# - 使用 FluentMigrator 添加代码和状态值的最佳实践?

转载 作者:行者123 更新时间:2023-11-30 17:13:45 27 4
gpt4 key购买 nike

我们正在开发一个使用 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 表?还是我们应该将其抽象为某种配置文件?

我看到了两者的优点和缺点,所以我很想听听其他团队如何处理这种情况。

最佳答案

如果您确定所有环境都需要它们,我会亲自将“引用数据”放在迁移类中,而不是配置文件中。

使用简单的规则,维护和代码理解总是更容易,例如:

Profile => 特定(测试,其他)数据

迁移 => 通用数据

特定的配置文件只会增加无用的复杂性(我的拙见)。

关于c# - 使用 FluentMigrator 添加代码和状态值的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9519576/

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