private static string GenerateCreateDbSql(string databaseName, CreateDatabaseSettings settings) { var sb = new StringBuilder($" create database {Sql.EscapeName(databaseName)}"); if (settings.PrimaryFile != null || settings.LogFile != null) { sb.Append(" ON "); } #pragma warning disable S1135 // Track uses of "TODO" tags #pragma warning disable MA0026 // Fix TODO comment if (settings.PrimaryFile != null) { // TODO replace with param sb.Append(" PRIMARY (Name = ") .Append(Sql.EscapeName(settings.PrimaryFile.Name)) .Append(", FILENAME = '") .Append(settings.PrimaryFile.FileName) .Append("') "); } #pragma warning restore MA0026 // Fix TODO comment #pragma warning restore S1135 // Track uses of "TODO" tags if (settings.LogFile != null) { sb.Append(" LOG ON (NAME = ") .Append(Sql.EscapeName(settings.LogFile.Name)) .Append(", FILENAME = '") .Append(settings.LogFile.FileName) .Append("') "); } return(sb.ToString()); }
private static string GenerateCreateDbSql(String databaseName, CreateDatabaseSettings settings) { var createDbSql = $" create database {Sql.EscapeName(databaseName)}"; if (settings.PrimaryFile != null || settings.LogFile != null) { createDbSql += " ON "; } if (settings.PrimaryFile != null) { createDbSql += $" PRIMARY (Name = {Sql.EscapeName(settings.PrimaryFile.Name)}, FILENAME = '{settings.PrimaryFile.FileName}') "; // TODO replace with param } if (settings.LogFile != null) { createDbSql += $" LOG ON (NAME = {Sql.EscapeName(settings.LogFile.Name)}, FILENAME = '{settings.LogFile.FileName}') "; } return(createDbSql); }
public static void DropAndCreateDatabase(this ICakeContext context, String connectionString, String databaseName, CreateDatabaseSettings settings) { Guard.ArgumentIsNotNull(context, nameof(context)); Guard.ArgumentIsNotNull(connectionString, nameof(connectionString)); Guard.ArgumentIsNotNull(databaseName, nameof(databaseName)); Guard.ArgumentIsNotNull(settings, nameof(settings)); SqlServerAliasesImpl.DropAndCreateDatabase(context, connectionString, databaseName, settings); }
internal static void CreateDatabaseIfNotExists(ICakeContext context, String connectionString, String databaseName, CreateDatabaseSettings settings) { settings.AssignNames(databaseName); var sql = GenerateCreateDbSql(databaseName, settings); sql = "if (select DB_ID(@DatabaseName)) is null " + sql; using (var connection = OpenSqlConnection(context, connectionString)) { context.Log.Debug($"Executing SQL : {sql}"); var command = CreateSqlCommand(sql, connection); command.Parameters.AddWithValue("@DatabaseName", databaseName); command.ExecuteNonQuery(); context.Log.Information($"Database {databaseName} is created if it was not there"); } }
internal static void DropAndCreateDatabase(ICakeContext context, String connectionString, String databaseName, CreateDatabaseSettings settings) { DropDatabase(context, connectionString, databaseName); CreateDatabase(context, connectionString, databaseName, settings); }
internal static void CreateDatabase(ICakeContext context, String connectionString, String databaseName, CreateDatabaseSettings settings) { settings.AssignNames(databaseName); var sql = GenerateCreateDbSql(databaseName, settings); using (var connection = OpenSqlConnection(context, connectionString)) { context.Log.Debug($"Executing SQL : {sql}"); var command = CreateSqlCommand(sql, connection); command.ExecuteNonQuery(); context.Log.Information($"Database {databaseName} is created if it was not there"); } }
internal static void DropAndCreateDatabase(ICakeContext context, string connectionString, string databaseName, CreateDatabaseSettings settings) { Initializer.InitializeNativeSearchPath(); DropDatabase(context, connectionString, databaseName); CreateDatabase(context, connectionString, databaseName, settings); }