sql >> Databasteknik >  >> RDS >> Sqlserver

Databasdistributionsstrategier (SQL-server)

För just detta problem valde jag att använda ett migreringsverktyg:Migratordotnet .

Med migrering (i vilket verktyg som helst) har du en enkel klass som används för att utföra dina ändringar och ångra dem. Här är ett exempel:

[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");
    }
}

Det här exemplet visar hur du kan hantera flyktiga uppdateringar, som att lägga till en ny kolumn som inte är null i en tabell som har befintliga data. Detta kan enkelt automatiseras och du kan enkelt gå upp och ner mellan versionerna.

Detta har varit ett riktigt värdefullt tillägg till vår konstruktion och har effektiviserat processen oväsentligt .

Jag postade en jämförelse av de olika migreringsramverken i .NET här:http ://benscheirman.com/2008/06/net-database-migration-tool-roundup



  1. Åtkomst nekad fel från Java till MySQL

  2. php kommer inte att infoga data i databasen

  3. MySQL standarddatabas

  4. Hur man hittar antal och namn på distinkta tecken i sträng i PL/SQL