public void Test1() { var conf = new SqlBlinkerConfig(); conf.Source = new SqlConnectionDetails { Host = "localhost", UserName = "******", Password = "", DatabaseName = "s" }; conf.Target = new SqlConnectionDetails { Host = "localhost", UserName = "******", Password = "", DatabaseName = "t" }; MySqlMigrationDetector migrator = new MySqlMigrationDetector(conf); //MysqlSelectAsObject<SqlTableDetailsObject> select = new MysqlSelectAsObject<SqlTableDetailsObject>(migrator.SourceMysqlConnection); //var res = select.Execute("select * from information_schema.TABLES"); new MySqlCommand("drop database if exists `s`", migrator.MigrationContext.Target).ExecuteNonQuery(); new MySqlCommand("drop database if exists `t`", migrator.MigrationContext.Target).ExecuteNonQuery(); new MySqlCommand("create database s", migrator.MigrationContext.Target).ExecuteNonQuery(); new MySqlCommand("create database t", migrator.MigrationContext.Target).ExecuteNonQuery(); new MySqlCommand(@"CREATE TABLE `t`.`to_remove` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=48 DEFAULT CHARSET=utf8", migrator.MigrationContext.Target).ExecuteNonQuery(); new MySqlCommand(@"CREATE TABLE `s`.`to_create` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=48 DEFAULT CHARSET=utf8", migrator.MigrationContext.Target).ExecuteNonQuery(); var allCommands = migrator.Detect(); MysqlMigrator mig = new MysqlMigrator(migrator.MigrationContext); mig.Migrate(allCommands); }
public MySqlMigrationDetector(SqlBlinkerConfig sqlBlinkerConfig) { this.MigrationContext.SqlBlinkerConfig = sqlBlinkerConfig; string srcStr = $"server={this.MigrationContext.SqlBlinkerConfig.Source.Host};user={this.MigrationContext.SqlBlinkerConfig.Source.UserName};password={this.MigrationContext.SqlBlinkerConfig.Source.Password}"; this.MigrationContext.Source = new MySqlConnection(srcStr); this.MigrationContext.Source.Open(); string targetStr = $"server={this.MigrationContext.SqlBlinkerConfig.Target.Host};user={this.MigrationContext.SqlBlinkerConfig.Target.UserName};password={this.MigrationContext.SqlBlinkerConfig.Target.Password}"; this.MigrationContext.Target = new MySqlConnection(srcStr); this.MigrationContext.Target.Open(); }