Пример #1
0
 public RedshiftVersionManager(
     IScriptRepo scriptRepo,
     string host,
     int port,
     string database,
     string username,
     string password)
 {
     ScriptRepo = scriptRepo;
     Host       = host;
     Port       = port;
     Database   = database;
     Username   = username;
     Password   = password;
     DbContext  = new VersionManagerDbContext(Host, Port, Database, Username, Password);
 }
        public SqlServerVersionManager(
            string folder,
            string server,
            string username,
            string password,
            string databaseName,
            bool createDatabase = false,
            ILogger logger      = null
            )
        {
            Folder         = folder;
            Password       = password;
            Username       = username;
            ServerInstance = server;
            DatabaseName   = databaseName;
            Connection     = new ServerConnection(serverInstance: ServerInstance, userName: Username, password: Password);
            Server         = new Server(Connection);
            Logger         = logger;
            if (
                createDatabase &&
                !string.IsNullOrEmpty(databaseName) &&
                !Server.Databases.Contains(databaseName))
            {
                CreateDatabase();
            }
            IntializeDatabase();
            LoadScripts(Folder);

            if (!string.IsNullOrEmpty(databaseName))
            {
                var sqlConnectionStringBuilder = new SqlConnectionStringBuilder();
                sqlConnectionStringBuilder.UserID         = username;
                sqlConnectionStringBuilder.Password       = password;
                sqlConnectionStringBuilder["Server"]      = server;
                sqlConnectionStringBuilder.InitialCatalog = databaseName;
                var builder = new DbContextOptionsBuilder <VersionManagerDbContext>();
                builder.UseSqlServer(sqlConnectionStringBuilder.ConnectionString);
                context = new VersionManagerDbContext(builder.Options);
            }
        }