public static void Initialize(DatabaseConfig config) { s_connectionString = $"SslMode=none;Server={config.Host};Port={config.Port};Database={config.Database};Uid={config.Username};Pwd={config.Password};Pooling=true;"; OrmConfiguration.DefaultDialect = SqlDialect.MySql; using (var con = Open()) { if (con.QueryFirstOrDefault($"SHOW DATABASES LIKE \"{config.Database}\"") == null) { throw new DatabaseNotFoundException(config.Database); } var databaseProvider = new MysqlDatabaseProvider(con) { TableName = "__version" }; var assemblyProvider = new AssemblyMigrationProvider(typeof(Base).Assembly, typeof(Base).Namespace); var migrator = new SimpleMigrator(assemblyProvider, databaseProvider); migrator.Load(); if (migrator.CurrentMigration.Version != migrator.LatestMigration.Version) { if (config.RunMigration) { migrator.MigrateToLatest(); } else { throw new DatabaseVersionMismatchException(migrator.CurrentMigration.Version, migrator.LatestMigration.Version); } } } }
/// <summary> /// Inits Event Store /// </summary> public Exercise09Projections() { databaseConnection = PostgresDbConnectionProvider.GetFreshDbConnection(); var databaseProvider = new PostgresqlDatabaseProvider(databaseConnection) { SchemaName = typeof(Exercise09Projections).Name }; var migrationsAssembly = typeof(Exercise09Projections).Assembly; var migrator = new SimpleMigrator(migrationsAssembly, databaseProvider); migrator.Load(); migrator.MigrateToLatest(); // Create Event Store eventStore = new EventStore(databaseConnection); eventStore.AddProjection(new UserDashboardProjection(databaseConnection)); // Initialize Event Store eventStore.Init(); userRepository = new Repository <User>(eventStore); orderRepository = new Repository <Order>(eventStore); }
/// <summary> /// Inits Event Store /// </summary> public Exercise08Snapshots() { databaseConnection = PostgresDbConnectionProvider.GetFreshDbConnection(); var databaseProvider = new PostgresqlDatabaseProvider(databaseConnection) { SchemaName = typeof(Exercise08Snapshots).Name }; var migrationsAssembly = typeof(Exercise08Snapshots).Assembly; var migrator = new SimpleMigrator(migrationsAssembly, databaseProvider); migrator.Load(); migrator.MigrateToLatest(); // Create Event Store eventStore = new EventStore(databaseConnection); var userSnapshot = new SnapshotToTable <User>( databaseConnection, @"TODO write upsert here"); eventStore.AddSnapshot(userSnapshot); // Initialize Event Store eventStore.Init(); repository = new Repository <User>(eventStore); }
/// <summary> /// Inits Event Store /// </summary> public Exercise08Snapshots() { databaseConnection = PostgresDbConnectionProvider.GetFreshDbConnection(); var databaseProvider = new PostgresqlDatabaseProvider(databaseConnection) { SchemaName = typeof(Exercise08Snapshots).Name }; var migrationsAssembly = typeof(Exercise08Snapshots).Assembly; var migrator = new SimpleMigrator(migrationsAssembly, databaseProvider); migrator.Load(); migrator.MigrateToLatest(); // Create Event Store eventStore = new EventStore(databaseConnection); var userSnapshot = new SnapshotToTable <User>( databaseConnection, @"INSERT INTO users (id, name, version) VALUES (@Id, @Name, @Version) ON CONFLICT (id) DO UPDATE SET name = @Name, version = @Version"); eventStore.AddSnapshot(userSnapshot); // Initialize Event Store eventStore.Init(); repository = new Repository <User>(eventStore); }
public void UpgradeDataBase() { // start conecxão da db. using (var connection = new NpgsqlConnection(cnn)) { var databaseProvider = new PostgresqlDatabaseProvider(connection); var migrator = new SimpleMigrator(assemblyTo, databaseProvider); // carregar todos os estados de versões da base de dados. migrator.Load(); // quando existir uma versão já ativa, inicie as migrações apratir de uma versão especifica. //migrator.Baseline(10); // verificar se a versão da db atual é diferente da ultima versão dos arquivos de migrações. if (migrator.CurrentMigration.Version != migrator.LatestMigration.Version) { // atualizar db para ultima versão. migrator.MigrateToLatest(); // atualizar db até o arquivo de migração numero 11. //migrator.MigrateTo(11); } Assert.IsTrue(migrator.CurrentMigration.Version == migrator.LatestMigration.Version); } }
public MigrateDb(ISession connection) { var migrationsAssembly = Assembly.GetExecutingAssembly(); var migrator = new SimpleMigrator(migrationsAssembly, new SqliteDatabaseProvider(connection.Connection as SQLiteConnection)); migrator.Load(); migrator.MigrateToLatest(); }
public void InitializeDatabase() { var migrator = new SimpleMigrator(typeof(DatabaseInitializer).Assembly, new PostgresqlDatabaseProvider(_con)); migrator.Load(); migrator.MigrateTo(1); migrator.MigrateToLatest(); }
public Startup(IConfiguration configuration) { Configuration = configuration; var provider = new PostgresqlDatabaseProvider(new NpgsqlConnection(Configuration.GetConnectionString("DefaultConnection"))); var migrator = new SimpleMigrator(typeof(Database.Migrations._001_Tokens).GetTypeInfo().Assembly, provider); migrator.Load(); migrator.MigrateToLatest(); }
public void Start() { using (var uow = _dbFactory.Create <IUnitOfWork, IFooSession>(IsolationLevel.Serializable)) { var databaseProvider = new SqliteDatabaseProvider(uow.Connection as System.Data.Common.DbConnection); var migrator = new SimpleMigrator(Assembly.GetExecutingAssembly(), databaseProvider); migrator.Load(); migrator.MigrateToLatest(); } }
public void Migrate(string[] args) { var options = Cli.Parse <MigrateOptions>(args); var connectionString = $"SslMode=none;Server={options.Host};Port={options.Port};Database={options.Database};Uid={options.User};Pwd={options.Password};"; using (var con = new MySqlConnection(connectionString)) { con.Open(); var databaseProvider = new MysqlDatabaseProvider(con) { TableName = "__version" }; AssemblyMigrationProvider assemblyProvider = null; switch (options.Schema.ToLower()) { case "auth": assemblyProvider = new AssemblyMigrationProvider(s_authType.Assembly, s_authType.Namespace); break; case "game": assemblyProvider = new AssemblyMigrationProvider(s_gameType.Assembly, s_gameType.Namespace); break; default: Error("Invalid schema"); break; } try { var migrator = new SimpleMigrator(assemblyProvider, databaseProvider, new ConsoleLogger()); migrator.Load(); if (options.CurrentVersion > 0) { migrator.Baseline(options.CurrentVersion); } if (options.Version == 0) { migrator.MigrateToLatest(); } else { migrator.MigrateTo(options.Version); } } catch (MigrationNotFoundException ex) { Error(ex.Message); } } }
private void DatabaseMigration() { var migrationsAssembly = typeof(CreateJobsTable001).Assembly; using (var connection = new SqlConnection(Configuration.GetConnectionString("Default"))) { var databaseProvider = new MssqlDatabaseProvider(connection); var migrator = new SimpleMigrator(migrationsAssembly, databaseProvider); migrator.Load(); migrator.MigrateToLatest(); } }
public async Task MigrateToLatestVersionAsync() { using (var connection = new SqlConnection(_sqlConnectionString)) { await connection.OpenAsync(); var migrationsAssembly = typeof(DatabaseManager).Assembly; var databaseProvider = new MssqlDatabaseProvider(connection); var migrator = new SimpleMigrator(migrationsAssembly, databaseProvider); migrator.Load(); migrator.MigrateToLatest(); } }
public static void Main(string[] args) { var migrationsAssembly = Assembly.GetEntryAssembly(); using (var connection = new NpgsqlConnection("Host=127.0.0.1;Username=doublemazeuser;Password=mycoolpass;Database=doublemaze")) { var databaseProvider = new PostgresqlDatabaseProvider(connection); var migrator = new SimpleMigrator(migrationsAssembly, databaseProvider); migrator.Load(); migrator.MigrateToLatest(); } }
private static void Migrate() { var migrationsAssembly = typeof(Program).Assembly; using (var connection = new NpgsqlConnection(StoreFactory.ConnectionString)) { var databaseProvider = new PostgresqlDatabaseProvider(connection); //new SimpleMigrator<X, B>(migrationsAssembly, null); var migrator = new SimpleMigrator(migrationsAssembly, databaseProvider); migrator.Load(); migrator.MigrateToLatest(); } }
public IActionResult Migrate() { var migrationsAssembly = typeof(Migrations.Program).Assembly; using (var db = new SqlConnection(_configuration.GetValue <string>("CONNECTION_STRING"))) { var databaseProvider = new MssqlDatabaseProvider(db); var migrator = new SimpleMigrator(migrationsAssembly, databaseProvider); migrator.Load(); migrator.MigrateToLatest(); } return(NoContent()); }
public MigrateDb() { var migrationsAssembly = Assembly.GetExecutingAssembly(); var versionProvider = new SqliteVersionProvider(); var factory = A.Fake <IDbFactory>(); Connection = new TestSession(factory, "Data Source=:memory:;Version=3;New=True;"); A.CallTo(() => factory.Create <IUnitOfWork>(A <IDbFactory> ._, A <ISession> ._)) .ReturnsLazily(CreateUnitOrWork); var migrator = new SimpleMigrator(migrationsAssembly, Connection, versionProvider); migrator.Load(); migrator.MigrateToLatest(); }
public void ApplyMigrations() { var config = LoadConfiguration(); var connString = config.GetConnectionString("Kiukie"); LoadServices(connString); using (var connection = new SqlConnection(connString)) { var databaseProvider = new MssqlDatabaseProvider(connection); var migrator = new SimpleMigrator(typeof(TestFixtureContext).Assembly, databaseProvider); migrator.Load(); migrator.MigrateToLatest(); } }
public void TestSetup() { if (TestSession != null) { return; } if (!File.Exists(DbName)) { using (File.Create(DbName)) { } } TestSession = new TestSqlForGuid(A.Fake <IDbFactory>()); var migrator = new SimpleMigrator(Assembly.GetExecutingAssembly(), new MssqlDatabaseProvider(TestSession.Connection as SqlConnection)); migrator.Load(); migrator.MigrateToLatest(); }
static void Main(string[] args) { var migrationsAssembly = typeof(Program).Assembly; var connectionString = new SqlConnectionStringBuilder { DataSource = ".", InitialCatalog = "SMP", IntegratedSecurity = true }.ConnectionString; using var connection = new SqlConnection(connectionString); var databaseProvider = new MssqlDatabaseProvider(connection); var migrator = new SimpleMigrator(migrationsAssembly, databaseProvider); migrator.Load(); migrator.MigrateToLatest(); }
/// <summary> /// Migrates the database up to the latest version. /// </summary> /// <param name="dbConnectionFactory">Factory to create a <see cref="IDbConnection"/> instance.</param> public static void Migrate(IDbConnectionFactory dbConnectionFactory) { var migrationsAssembly = typeof(DatabaseMigrator).Assembly; using (var connection = dbConnectionFactory.Create()) { EnsureDatabaseDirectoryExists(connection.ConnectionString); var databaseProvider = new SQLiteNetDatabaseProvider((SQLiteConnection)connection); var migrator = new SimpleMigrator <SQLiteConnection, SQLiteNetMigration>(migrationsAssembly, databaseProvider); migrator.Load(); if (migrator.CurrentMigration.Version != migrator.LatestMigration.Version) { migrator.MigrateToLatest(); } } }
private static void ExecuteMigrations(IDbConnection connection, string[] args) { if (connection == null) { return; } using (var conn = connection) { var databaseProvider = new SqlDatabaseProvider(conn); var migrator = new SimpleMigrator <IDbConnection, BaseMigration>(Assembly.GetCallingAssembly(), databaseProvider); try { if (args == null || args.Length == 0) { migrator.Load(); if (RollbackVersion.HasValue && RollbackVersion > 0) { migrator.MigrateTo(RollbackVersion.Value); } if (MigrateToLatest) { migrator.MigrateToLatest(); } } else { var console = new ConsoleRunner(migrator); console.Run(args); } } catch { throw; } } }
static void Main(string[] args) { using (var connection = new ConnectionFactory().Create()) { var databaseProvider = new SqliteDatabaseProvider(connection); var migrator = new SimpleMigrator(Assembly.GetEntryAssembly(), databaseProvider, new ConsoleLogger()); migrator.Load(); if (args.ElementAtOrDefault(0) == "migrate") { var runner = new ConsoleRunner(migrator); runner.Run(args.Skip(1).ToArray()); return; } else { migrator.MigrateToLatest(); } } var clientConfig = new ClientConfig() { Server = "ircd.antonymale.co.uk", Port = 6667, IsSecure = false, Nickname = "guarddog", RealName = "guarddog", Username = "******", PermanentlyOp = true, Channels = { new ChannelConfig() { Name = "#test" }, new ChannelConfig() { Name = "#admin" }, }, NickservPassword = "******", RequireCommandPrefixInPrivmsg = true, }; using (var client = new Client(clientConfig)) { var banRepository = new BanRepository(); var aKickModuleConfig = new AKickModuleConfig() { Channels = { new AkickModuleChannelConfig() { OpChannel = client.Channels["#test"], AdminChannels ={ client.Channels["#admin"] }, }, } }; var akick = new AkickModule(client, aKickModuleConfig, banRepository); akick.Load(); client.Open(); Console.ReadLine(); } Console.WriteLine("Hello World!"); }
public static void Main(string[] args) { var connectionString = @"Data Source=LT-17-623\SQL17;Initial Catalog=ASPNetCoreTest;Persist security info=True;Integrated Security=SSPI"; var migrateCommandText = "migrate"; var rollBackCommandText = "rollback"; var versionCommand = "-v"; Console.WriteLine("MigratonRunner commands"); Console.WriteLine(); Console.WriteLine("migrate"); Console.WriteLine("migrate -v <VERSION>"); Console.WriteLine("rollback"); Console.WriteLine("rollback -v <VERSION>"); Console.WriteLine(); Console.WriteLine("ENTER COMMAND"); Console.WriteLine(); using (var connection = new SqlConnection(connectionString)) { var databaseProvider = new MssqlDatabaseProvider(connection); var migrator = new SimpleMigrator(Assembly.Load(new AssemblyName("Migrations.Sql")), databaseProvider); migrator.Load(); var newMigrations = migrator.Migrations.Where(x => x.Version > migrator.CurrentMigration.Version); if (newMigrations.Any()) { Console.WriteLine("There are new migrations"); Console.ForegroundColor = ConsoleColor.Green; foreach (var migration in newMigrations.OrderBy(x => x.Version)) { Console.WriteLine(migration.Version.ToString() + "-" + migration.Description); } Console.ResetColor(); } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("There are no new migrations"); Console.ResetColor(); } } var commandText = Console.ReadLine(); if (commandText.ToLower().Contains(migrateCommandText)) { if (commandText.ToLower().Contains(versionCommand)) { string version = commandText.Substring(commandText.IndexOf(versionCommand) + versionCommand.Length + 1); long versionLong; var castedToLong = long.TryParse(version, out versionLong); if (castedToLong) { using (var connection = new SqlConnection(connectionString)) { var databaseProvider = new MssqlDatabaseProvider(connection); var migrator = new SimpleMigrator(Assembly.Load(new AssemblyName("Migrations.Sql")), databaseProvider); migrator.Load(); migrator.MigrateTo(versionLong); } Console.WriteLine("migrate database to the version " + version + " !"); Console.ReadKey(); } } else { using (var connection = new SqlConnection(connectionString)) { var databaseProvider = new MssqlDatabaseProvider(connection); var migrator = new SimpleMigrator(Assembly.Load(new AssemblyName("Migrations.Sql")), databaseProvider); migrator.Load(); migrator.MigrateToLatest(); } Console.WriteLine("migrate database to latest version"); Console.ReadKey(); } } else if (commandText.ToLower().Contains(rollBackCommandText)) { if (commandText.ToLower().Contains(versionCommand)) { string version = commandText.Substring(commandText.IndexOf(versionCommand) + versionCommand.Length + 1); long versionLong; var castedToLong = long.TryParse(version, out versionLong); if (castedToLong) { using (var connection = new SqlConnection(connectionString)) { var databaseProvider = new MssqlDatabaseProvider(connection); var migrator = new SimpleMigrator(Assembly.Load(new AssemblyName("Migrations.Sql")), databaseProvider); migrator.Load(); migrator.MigrateTo(versionLong); } Console.WriteLine("rollback database to the version " + version + " !"); Console.ReadKey(); } } else { Console.WriteLine("Are you sure? y/n"); var rollbackResp = Console.ReadLine(); if (rollbackResp.Contains("y")) { using (var connection = new SqlConnection(connectionString)) { var databaseProvider = new MssqlDatabaseProvider(connection); var migrator = new SimpleMigrator(Assembly.Load(new AssemblyName("Migrations.Sql")), databaseProvider); migrator.Load(); migrator.MigrateTo(0); } Console.WriteLine("rollback database!"); Console.ReadKey(); } else { Console.WriteLine("rollback canceled!"); Console.ReadKey(); } } } else { Console.WriteLine("Command not found, please write migrate or rollback"); Console.ReadKey(); } }