Beispiel #1
0
        static void Main(string[] args)
        {
            var parameters = MigrationParameters.ParseArguments(args);

            using (DbMigrator migrator = new DbMigrator(parameters))
            {
                migrator.Migrate();
            }
        }
Beispiel #2
0
 public DbMigrator(MigrationParameters parameters)
 {
     filesPath             = parameters.SqlScriptsBasePath;
     spesificVersionNumber = parameters.SpesificVersionNumber;
     dbName = parameters.ConnectionString.InitialCatalog;
     isUp   = parameters.IsUp;
     parameters.ConnectionString.InitialCatalog = "master";
     connection = new SqlConnection(parameters.ConnectionString.ConnectionString);
     connection.Open();
 }
        public static MigrationParameters ParseArguments(string[] args)
        {
            var parameterModel = new MigrationParameters();

            for (int i = 0; i < args.Length; i++)
            {
                if (args[i] == "-cs")
                {
                    parameterModel.ConnectionString = new SqlConnectionStringBuilder(args[i + 1]);
                }

                if (args[i] == "-p")
                {
                    var path = args[i + 1];

                    if (path[path.Length - 1] != '\\')
                    {
                        path = path + "\\";
                    }

                    parameterModel.SqlScriptsBasePath = path;
                }
                if (args[i] == "-v")
                {
                    parameterModel.IsUp = true;
                    parameterModel.SpesificVersionNumber = Convert.ToInt32(args[i + 1]);
                }

                if (args[i] == "-r")
                {
                    parameterModel.IsUp = false;
                    parameterModel.SpesificVersionNumber = Convert.ToInt32(args[i + 1]);
                }
            }

            parameterModel.Validate();

            return(parameterModel);
        }