示例#1
0
        public static int Main(string[] args)
        {
            if (args.Length < 3)
            {
                Console.WriteLine("Usage: RunMongoMigrations server[:port] databaseName migrationAssembly");
                return 1;
            }

            var server = args[0];
            var database = args[1];
            var migrationsAssembly = args[2];

            var runner = new MigrationRunner(("mongodb://" + server), database);

            runner.MigrationLocator.LookForMigrationsInAssembly(Assembly.LoadFrom(migrationsAssembly));

            try
            {
                runner.UpdateToLatest();
                return 0;
            }
            catch (MigrationException e)
            {
                Console.WriteLine("Migrations Failed: " + e);
                Console.WriteLine(args[0], args[1], args[2]);
                return 1;
            }
        }
        public static bool IsUpToDate(string connectionString, string databaseName) {
            try {
                var runner = new MigrationRunner(connectionString, databaseName);
                runner.MigrationLocator.LookForMigrationsInAssemblyOfType<ErrorRepository>();
                return !runner.DatabaseStatus.IsNotLatestVersion();
            } catch (Exception ex) {
                Log.Error().Exception(ex).Message("Error checking db version: {0}", ex.Message).Report().Write();
            }

            return false;
        }
示例#3
0
        public void TestMigration()
        {
            var runner = new MigrationRunner("mongodb://*****:*****@clickmongoqa.cloudapp.net:13878/clickberry");

            // migrations are ordered by version
            runner.MigrationLocator.LookForMigrationsInAssemblyOfType<IPortalMigration>();

            // updating database
            runner.UpdateToLatest();

            runner.DatabaseStatus.ThrowIfNotLatestVersion();
        }
        public void Initialize()
        {
            var runner = new MigrationRunner(_url);

            // migrations are ordered by version
            runner.MigrationLocator.LookForMigrationsInAssemblyOfType<IPortalMigration>();

            if (_automigration)
            {
                // updating database
                runner.UpdateToLatest();
            }

            runner.DatabaseStatus.ThrowIfNotLatestVersion();
        }
        public static void EnsureLatest(string connectionString, string databaseName) {
            if (_isUpdating)
                return;

            _isUpdating = true;

            try {
                var runner = new MigrationRunner(connectionString, databaseName);
                runner.MigrationLocator.LookForMigrationsInAssemblyOfType<ErrorRepository>();
                runner.UpdateToLatest();
            } catch (Exception ex) {
                Log.Error().Exception(ex).Message("Error ensuring latest db version: {0}", ex.Message).Report().Write();
            } finally {
                _isUpdating = false;
            }
        }
 public DatabaseMigrationStatus(MigrationRunner runner) {
     _runner = runner;
 }
 public static bool IsUpToDate(string connectionString, string databaseName) {
     var runner = new MigrationRunner(connectionString, databaseName);
     runner.MigrationLocator.LookForMigrationsInAssemblyOfType<ErrorRepository>();
     return !runner.DatabaseStatus.IsNotLatestVersion();
 }
 public static void EnsureLatest(string connectionString, string databaseName) {
     var runner = new MigrationRunner(connectionString, databaseName);
     runner.MigrationLocator.LookForMigrationsInAssemblyOfType<ErrorRepository>();
     runner.UpdateToLatest();
 }
 public static void ThrowIfNotLatestVersion(string connectionString, string databaseName) {
     var runner = new MigrationRunner(connectionString, databaseName);
     runner.MigrationLocator.LookForMigrationsInAssemblyOfType<ErrorRepository>();
     runner.DatabaseStatus.ThrowIfNotLatestVersion();
 }
 public DatabaseMigrationStatus(MigrationRunner runner)
 {
     _Runner = runner;
 }