コード例 #1
0
ファイル: Config.cs プロジェクト: jhgbrt/DbMigrations
        public static Config Create(string[] args)
        {
            var result = new Config();

            result._optionSet.Parse(args);

            if (string.IsNullOrEmpty(result.ProviderName))
                result.ProviderName = "System.Data.SqlClient";
            else
                EnsureProviderConfigurations();

            if (!string.IsNullOrEmpty(result.ConnectionString))
                return result;

            var connectionStringBuilder = result.ConnectionStringBuilder;
            connectionStringBuilder["Data Source"] = result._server;
            connectionStringBuilder["Initial Catalog"] = result._database;
            if (result._useIntegratedSecurity)
            {
                connectionStringBuilder["Integrated Security"] = "True";
            }
            else
            {
                connectionStringBuilder["User ID"] = result._user;
                connectionStringBuilder["Password"] = result._password;

            }

            connectionStringBuilder["Connect Timeout"] = 10;
            result.ConnectionString = connectionStringBuilder.ConnectionString;
            return result;
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: jhgbrt/DbMigrations
        private static void PrintHelp(Config config)
        {
            Logger
                .InfoLine("Use this utility to execute DDL and SQL scripts against a database.")
                .InfoLine("")
                .InfoLine("Usage: migrate.exe [options]")
                .InfoLine("Options:")
                .InfoLine(config.GetHelp());

            if (!config.Help)
                return;

            Logger.WriteHelp();
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: jhgbrt/DbMigrations
 private static bool PostMigration(IMigrationManager manager, Config config)
 {
     if (config.Sync || !manager.HasScripts(ScriptKind.PostMigration)) return true;
     Logger.Section("Running post-migration scripts");
     return manager.ExecuteScripts(config.WhatIf, ScriptKind.PostMigration);
 }
コード例 #4
0
ファイル: Program.cs プロジェクト: jhgbrt/DbMigrations
 private static IMigrationManager CreateMigrationManager(Config config, IDb db, DbQueries queryConfig)
 {
     var database = new Database(db, queryConfig);
     var folder = new DirectoryInfo(config.Directory);
     var scripts = new ScriptFileRepository(folder, config.PreMigration, config.PostMigration);
     var manager = new MigrationManager(scripts, database, Logger);
     return manager;
 }
コード例 #5
0
ファイル: Program.cs プロジェクト: jhgbrt/DbMigrations
 private static bool Migration(IMigrationManager manager, Config config)
 {
     Logger.Section("Performing database migrations");
     return manager.MigrateSchema(config.WhatIf, config.Sync, config.ReInit);
 }