Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        /// <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,
                @"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 SetUp()
        {
            Migration1.Reset();
            Migration2.Reset();

            this.connection = new Mock <DbConnection>()
            {
                DefaultValue = DefaultValue.Mock,
            };
            this.migrationProvider = new Mock <IMigrationProvider>();
            this.databaseProvider  = new Mock <MockDatabaseProvider>()
            {
                CallBase = true,
            };
            this.databaseProvider.Object.Connection = this.connection.Object;

            this.logger = new Mock <ILogger>();

            this.migrator = new SimpleMigrator <DbConnection, Migration>(this.migrationProvider.Object, this.databaseProvider.Object, this.logger.Object);

            this.migrations = new List <MigrationData>()
            {
                new MigrationData(1, "Migration 1", typeof(Migration1).GetTypeInfo()),
                new MigrationData(2, "Migration 2", typeof(Migration2).GetTypeInfo()),
            };
            this.migrationProvider.Setup(x => x.LoadMigrations()).Returns(this.migrations);
        }
        /// <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);
        }
Esempio n. 6
0
        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);
                    }
                }
            }
        }
Esempio n. 7
0
        public void SetUp()
        {
            this.connection        = new Mock <DbConnection>();
            this.migrationProvider = new Mock <IMigrationProvider>();
            this.databaseProvider  = new Mock <IDatabaseProvider <DbConnection> >();

            this.migrator = new SimpleMigrator <DbConnection, Migration>(this.migrationProvider.Object, this.databaseProvider.Object);
        }
        public MigrateDb(ISession connection)
        {
            var migrationsAssembly = Assembly.GetExecutingAssembly();
            var migrator           = new SimpleMigrator(migrationsAssembly, new SqliteDatabaseProvider(connection.Connection as SQLiteConnection));

            migrator.Load();
            migrator.MigrateToLatest();
        }
Esempio n. 9
0
        public void InitializeDatabase()
        {
            var migrator = new SimpleMigrator(typeof(DatabaseInitializer).Assembly,
                                              new PostgresqlDatabaseProvider(_con));

            migrator.Load();
            migrator.MigrateTo(1);
            migrator.MigrateToLatest();
        }
Esempio n. 10
0
        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();
        }
Esempio n. 11
0
        protected SimpleMigrator <SQLiteConnection, SQLiteNetMigration> GetMigrator(SQLiteConnection connection)
        {
            var migrationDbProvider = new SQLiteNetDatabaseProvider(connection);
            var migrator            = new SimpleMigrator <SQLiteConnection, SQLiteNetMigration>(
                typeof(LocalDatabase).GetTypeInfo().Assembly,
                migrationDbProvider);

            migrator.Load();
            return(migrator);
        }
Esempio n. 12
0
        static void Main(string[] args)
        {
            var connection = new SQLiteNetConnectionProvider(new SQLiteConnection("SQLiteNetdatabase.sqlite"));
            var versionProvider = new SQLiteNetVersionProvider();

            var migrator = new SimpleMigrator<SQLiteConnection, SQLiteNetMigration>(
                Assembly.GetEntryAssembly(), connection, versionProvider);
            var runner = new ConsoleRunner(migrator);
            runner.Run(args);
        }
Esempio n. 13
0
        static void Main(string[] args)
        {
            var connection      = new SQLiteNetConnectionProvider(new SQLiteConnection("SQLiteNetdatabase.sqlite"));
            var versionProvider = new SQLiteNetVersionProvider();

            var migrator = new SimpleMigrator <SQLiteConnection, SQLiteNetMigration>(
                Assembly.GetEntryAssembly(), connection, versionProvider);
            var runner = new ConsoleRunner(migrator);

            runner.Run(args);
        }
Esempio n. 14
0
        static void Main(string[] args)
        {
            var migrationsAssembly = typeof(Program).Assembly;
            var db = new SQLiteConnection("DataSource=database.sqlite");
            var versionProvider = new SQLiteVersionProvider();

            var migrator = new SimpleMigrator(migrationsAssembly, db, versionProvider);

            var runner = new ConsoleRunner(migrator);
            runner.Run(args);
        }
Esempio n. 15
0
        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();
            }
        }
Esempio n. 16
0
        static int Main(string[] args)
        {
            using (var connection = new SQLiteConnection("SQLiteNetdatabase.sqlite"))
            {
                var databaseProvider = new SQLiteNetDatabaseProvider(connection);

                var migrator = new SimpleMigrator <SQLiteConnection, SQLiteNetMigration>(
                    Assembly.GetEntryAssembly(), databaseProvider);
                var runner = new ConsoleRunner(migrator);
                return(runner.Run(args));
            }
        }
        public static void MigrateSqlDbData(string sqlConnectionString)
        {
            var migrationsAssembly = typeof(Program).Assembly;

            using (var connection = new MySqlConnection(sqlConnectionString))
            {
                var databaseProvider = new MysqlDatabaseProvider(connection);
                var migrator         = new SimpleMigrator(migrationsAssembly, databaseProvider);
                migrator.Load();
                migrator.MigrateTo(2018_10_18_00_45);
            }
        }
Esempio n. 18
0
        static void Main(string[] args)
        {
            var migrationsAssembly = typeof(Program).Assembly;
            var db = new SQLiteConnection("DataSource=database.sqlite");
            var versionProvider = new SQLiteVersionProvider();

            var migrator = new SimpleMigrator(migrationsAssembly, db, versionProvider);

            var runner = new ConsoleRunner(migrator);

            runner.Run(args);
        }
Esempio n. 19
0
        static void Main(string[] args)
        {
            using (var connection = new SQLiteConnection("SQLiteNetdatabase.sqlite"))
            {
                var databaseProvider = new SQLiteNetDatabaseProvider(connection);

                var migrator = new SimpleMigrator<SQLiteConnection, SQLiteNetMigration>(
                    Assembly.GetEntryAssembly(), databaseProvider);
                var runner = new ConsoleRunner(migrator);
                runner.Run(args);
            }
        }
Esempio n. 20
0
        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);
                }
            }
        }
Esempio n. 21
0
        private static SimpleMigrator CreateMigrator(DbConnection connection, Settings settings)
        {
            var migrationAssembly = GetMigrationAssembly(settings.MigrationAssemblyPath);

            var provider = new MssqlDatabaseProvider(connection)
            {
                SchemaName = settings.VersionTableSchema
            };
            var migrator = new SimpleMigrator(migrationAssembly, provider);

            migrator.Load();
            return(migrator);
        }
Esempio n. 22
0
        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();
            }
        }
Esempio n. 23
0
        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();
            }
        }
Esempio n. 24
0
        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();
            }
        }
Esempio n. 25
0
        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();
            }
        }
Esempio n. 26
0
        static void Main(string[] args)
        {
            var migrationsAssembly = typeof(Program).Assembly;
            using (var connection = new SQLiteConnection("DataSource=database.sqlite"))
            {
                var databaseProvider = new SqliteDatabaseProvider(connection);

                var migrator = new SimpleMigrator(migrationsAssembly, databaseProvider);

                var runner = new ConsoleRunner(migrator);
                runner.Run(args);
            }
        }
Esempio n. 27
0
        protected SimpleMigrator CreateMigrator(string name, params Type[] migrationTypes)
        {
            foreach (var migrationType in migrationTypes)
            {
                var setupMethod = migrationType.GetMethod("Setup", BindingFlags.Static | BindingFlags.Public);
                setupMethod.Invoke(null, new object[] { this.MigrationStringsProvider });
            }

            var migrationProvider = new CustomMigrationProvider(migrationTypes);
            var migrator          = new SimpleMigrator(migrationProvider, this.CreateDatabaseProvider(), new NUnitLogger(name));

            migrator.Load();
            return(migrator);
        }
Esempio n. 28
0
        static void Main(string[] args)
        {
            var migrationsAssembly = typeof(Program).Assembly;

            using (var connection = new SQLiteConnection("DataSource=database.sqlite"))
            {
                var databaseProvider = new SqliteDatabaseProvider(connection);

                var migrator = new SimpleMigrator(migrationsAssembly, databaseProvider);

                var runner = new ConsoleRunner(migrator);
                runner.Run(args);
            }
        }
Esempio n. 29
0
        public static void Main(string[] args)
        {
            var migrationsAssembly = typeof(Program).GetTypeInfo().Assembly;
            var connectionString   = @"Server=; Port=; Database=; Uid = user; Pwd = pass;";

            using (var connection = new MySqlConnection(connectionString))
            {
                var databaseProvider = new MysqlDatabaseProvider(connection);
                var migrator         = new SimpleMigrator(migrationsAssembly, databaseProvider);

                ConsoleRunner consoleRunner = new ConsoleRunner(migrator);
                consoleRunner.Run(args);
            }
        }
Esempio n. 30
0
        static void Main(string[] args)
        {
            var connectionString = Environment.GetEnvironmentVariable("CONNECTION_STRING");

            var migrationsAssembly = typeof(Program).Assembly;

            using (var db = new SqlConnection(connectionString))
            {
                var databaseProvider = new MssqlDatabaseProvider(db);
                var migrator         = new SimpleMigrator(migrationsAssembly, databaseProvider);

                var consoleRunner = new ConsoleRunner(migrator);
                consoleRunner.Run(args);
            }
        }
        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());
        }
Esempio n. 32
0
        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();
        }
Esempio n. 33
0
        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();
            }
        }
Esempio n. 34
0
        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();
        }
Esempio n. 35
0
        protected SimpleMigrator CreateMigrator(string name, params Type[] migrationTypes)
        {
            foreach (var migrationType in migrationTypes)
            {
                var setupMethod = migrationType.GetMethod("Setup", BindingFlags.Static | BindingFlags.Public);
                setupMethod.Invoke(null, new object[] { this.MigrationStringsProvider });
            }

            var migrationProvider = new CustomMigrationProvider(migrationTypes);
            var migrator = new SimpleMigrator(migrationProvider, this.CreateDatabaseProvider(), new NUnitLogger(name));
            migrator.Load();
            return migrator;
        }
        public void SetUp()
        {
            Migration1.Reset();
            Migration2.Reset();

            this.connection = new Mock<DbConnection>()
            {
                DefaultValue = DefaultValue.Mock,
            };
            this.migrationProvider = new Mock<IMigrationProvider>();
            this.databaseProvider = new Mock<MockDatabaseProvider>()
            {
                CallBase = true,
            };
            this.databaseProvider.Object.Connection = this.connection.Object;

            this.logger = new Mock<ILogger>();

            this.migrator = new SimpleMigrator<DbConnection, Migration>(this.migrationProvider.Object, this.databaseProvider.Object, this.logger.Object);

            this.migrations = new List<MigrationData>()
            {
                new MigrationData(1, "Migration 1", typeof(Migration1).GetTypeInfo()),
                new MigrationData(2, "Migration 2", typeof(Migration2).GetTypeInfo()),
            };
            this.migrationProvider.Setup(x => x.LoadMigrations()).Returns(this.migrations);
        }