static void Main(string[] args) { var parameters = MigrationParameters.ParseArguments(args); using (DbMigrator migrator = new DbMigrator(parameters)) { migrator.Migrate(); } }
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); }