簡體   English   中英

使用FluentMigrator添加代碼和狀態值的最佳實踐?

[英]Best practice for adding code and status values with FluentMigrator?

我們正在開發一個使用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 =>特定(測試,其他)數據

遷移=>通用數據

特定的配置文件只會增加無用的復雜性(我的謙虛觀點)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM