sql >> Database >  >> RDS >> Sqlserver

Strategieën voor database-implementatie (SQL Server)

Voor dit probleem heb ik ervoor gekozen om een ​​migratietool te gebruiken:Migratordotnet .

Met migraties (in elke tool) heb je een eenvoudige klasse die wordt gebruikt om je wijzigingen uit te voeren en ongedaan te maken. Hier is een voorbeeld:

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

Dit voorbeeld laat zien hoe u vluchtige updates kunt verwerken, zoals het toevoegen van een nieuwe niet-null-kolom aan een tabel met bestaande gegevens. Dit kan eenvoudig worden geautomatiseerd en u kunt gemakkelijk tussen versies op en neer gaan.

Dit is echt een waardevolle toevoeging aan onze build geweest en heeft het proces enorm gestroomlijnd. .

Ik heb hier een vergelijking van de verschillende migratieframeworks in .NET geplaatst:http ://benscheirman.com/2008/06/net-database-migration-tool-roundup



  1. Maak geneste JSON-arrays met FOR JSON PATH

  2. SqlCommand back-up database

  3. Ruimte vrijmaken in SQL Server 2005-database wanneer tabellen permanent worden verwijderd

  4. Hoe u twee tabellen samenvoegt in MySQL