sql >> データベース >  >> RDS >> Sqlserver

データベースの展開戦略 (SQL Server)

    この問題に対して、移行ツール Migratordotnet を使用することにしました。 .

    移行 (どのツールでも) では、変更を実行して元に戻すために使用される単純なクラスがあります。以下に例を示します:

    [Migration(62)]
    public class _62_add_date_created_column : Migration
    {
        public void Up()
        {
           //add it nullable
           Database.AddColumn("Customers", new Column("DateCreated", DateTime) );
    
           //seed it with data
           Database.Execute("update Customers set DateCreated = getdate()");
    
           //add not-null constraint
           Database.AddNotNullConstraint("Customers", "DateCreated");
        }
    
        public void Down()
        {
           Database.RemoveColumn("Customers", "DateCreated");
        }
    }
    

    この例は、既存のデータを持つテーブルに新しい非 null 列を追加するなど、揮発性の更新を処理する方法を示しています。これは簡単に自動化でき、バージョン間を簡単に行き来できます。

    これは私たちのビルドにとって非常に価値のある追加機能であり、プロセスが大幅に合理化されました .

    .NET のさまざまな移行フレームワークの比較をここに投稿しました:http ://benscheirman.com/2008/06/net-database-migration-tool-roundup



    1. mysqlimport:エラー:1045、アクセスが拒否されました

    2. 他の行に基づいて結果セットを返す方法

    3. 2つの既知の文字列から文字列を選択するSQLクエリ

    4. 異なる列のタイム スタンプの違いに基づいて Oracle DB ビューを作成する