internal static string CreateDatabaseExistsScript(string databaseName, bool useDeprecatedSystemTable) { var builder = new SqlDdlBuilder(); builder.AppendSql("SELECT Count(*) FROM "); AppendSysDatabases(builder, useDeprecatedSystemTable); builder.AppendSql(" WHERE [name]="); builder.AppendStringLiteral(databaseName); return(builder.unencodedStringBuilder.ToString()); }
private static void AppendSysDatabases(SqlDdlBuilder builder, bool useDeprecatedSystemTable) { if (useDeprecatedSystemTable) { builder.AppendSql("sysdatabases"); } else { builder.AppendSql("sys.databases"); } }
internal static string CreateDatabaseScript(string databaseName, string dataFileName, string logFileName) { var builder = new SqlDdlBuilder(); builder.AppendSql("create database "); builder.AppendIdentifier(databaseName); if (null != dataFileName) { Debug.Assert(logFileName != null, "must specify log file with data file"); builder.AppendSql(" on primary "); builder.AppendFileName(dataFileName); builder.AppendSql(" log on "); builder.AppendFileName(logFileName); } return(builder.unencodedStringBuilder.ToString()); }
internal static string DropDatabaseScript(string databaseName) { var builder = new SqlDdlBuilder(); builder.AppendSql("drop database "); builder.AppendIdentifier(databaseName); return(builder.unencodedStringBuilder.ToString()); }
internal static string CreateCountDatabasesBasedOnFileNameScript(string databaseFileName, bool useDeprecatedSystemTable) { var builder = new SqlDdlBuilder(); builder.AppendSql("SELECT Count(*) FROM "); if (useDeprecatedSystemTable) { builder.AppendSql("sysdatabases"); } if (!useDeprecatedSystemTable) { builder.AppendSql("sys.master_files"); } builder.AppendSql(" WHERE ["); if (useDeprecatedSystemTable) { builder.AppendSql("filename"); } else { builder.AppendSql("physical_name"); } builder.AppendSql("]="); builder.AppendStringLiteral(databaseFileName); return(builder.unencodedStringBuilder.ToString()); }
private void AppendCreateSchema(string schema) { AppendSql("if (schema_id("); AppendStringLiteral(schema); AppendSql(") is null) exec("); // need to create a sub-command and escape it as a string literal as well... SqlDdlBuilder schemaBuilder = new SqlDdlBuilder(); schemaBuilder.AppendSql("create schema "); schemaBuilder.AppendIdentifier(schema); AppendStringLiteral(schemaBuilder.unencodedStringBuilder.ToString()); AppendSql(");"); AppendNewLine(); }
internal static string CreateGetDatabaseNamesBasedOnFileNameScript(string databaseFileName, bool useDeprecatedSystemTable) { var builder = new SqlDdlBuilder(); builder.AppendSql("SELECT [d].[name] FROM "); AppendSysDatabases(builder, useDeprecatedSystemTable); builder.AppendSql(" AS [d] "); if (!useDeprecatedSystemTable) { builder.AppendSql("INNER JOIN sys.master_files AS [f] ON [f].[database_id] = [d].[database_id]"); } builder.AppendSql(" WHERE ["); if (useDeprecatedSystemTable) { builder.AppendSql("filename"); } else { builder.AppendSql("f].[physical_name"); } builder.AppendSql("]="); builder.AppendStringLiteral(databaseFileName); return(builder.unencodedStringBuilder.ToString()); }