public static void PurgeDb(Seed seed) { ConnectionProfile cp = new ConnectionProfile(); SqlConnectionStringBuilder conn_orig = new SqlConnectionStringBuilder(cp.ConnectionString); SqlConnectionStringBuilder conn = new SqlConnectionStringBuilder(cp.ConnectionString) { ConnectTimeout = 5, InitialCatalog = "master" }; // you can add other parameters. using (SqlConnection cnn = new SqlConnection(conn.ConnectionString)) { cnn.Open(); using (SqlCommand dbCreate = new SqlCommand()) { dbCreate.CommandText = string.Format(@"IF db_id('{0}') IS NULL CREATE DATABASE [{0}]", conn_orig.InitialCatalog); dbCreate.Connection = cnn; try { dbCreate.ExecuteNonQuery(); } catch (Exception ex) { Console.WriteLine(string.Format("create database [{0}] FAILED with {1}", conn_orig.InitialCatalog, ex.Message )); } } } seed.PurgeDb(); }
static void Main(string[] args) { if (args.Length == 0) throw new InvalidOperationException("first argument should be a connection string."); Console.WriteLine("Purging and regenerating schema for " + args[0] + "."); var connection = new ConnectionProfile { ConnectionString = args[0] }; var seed = new Seed(connection); var schema = new Schema(seed); seed.PurgeDb(); seed.ExecuteTo(schema.Scripts(), schema.Current()); Console.WriteLine("Done."); }
void SetupSchema() { seed = new Seed(); seed.PurgeDb(); seed.CreateTable("Blogs", new dynamic[] { new { Id = "int", Identity = true, PrimaryKey = true }, new { Title = "nvarchar(255)" }, new { Body = "nvarchar(max)" } }).ExecuteNonQuery(); seed.CreateTable("Comments", new dynamic[] { new { Id = "int", Identity = true, PrimaryKey = true }, new { BlogId = "int", ForeignKey = "Blogs(Id)" }, new { Text = "nvarchar(1000)" } }).ExecuteNonQuery(); }