public void Should_report_upgradable_if_schema_table_is_missing()
        {
            var sut    = new SchemaManager(() => _testTools.OpenConnection());
            var actual = sut.CanSchemaBeUpgraded();

            actual.Should().BeTrue();
        }
        public void Should_not_report_upgradable_if_schema_version_is_same()
        {
            _testTools.ToLatestVersion();

            var sut    = new SchemaManager(() => _testTools.OpenConnection());
            var actual = sut.CanSchemaBeUpgraded();

            actual.Should().BeFalse();
        }
        public void Should_report_upgradable_if_schema_version_is_less()
        {
            SetVersion(1);

            var sut    = new SchemaManager(() => _testTools.OpenConnection());
            var actual = sut.CanSchemaBeUpgraded();

            actual.Should().BeTrue();
        }
        public void should_report_upgradable_if_schema_table_is_missing()
        {
            DropSchemaTable();

            var sut    = new SchemaManager(ConnectionFactory.CreateConnection);
            var actual = sut.CanSchemaBeUpgraded();

            actual.Should().BeTrue();
        }
        public void should_not_report_upgradable_if_schema_version_is_same()
        {
            SetVersion(3);

            var sut    = new SchemaManager(ConnectionFactory.CreateConnection);
            var actual = sut.CanSchemaBeUpgraded();

            actual.Should().BeFalse();
        }
        public void Should_report_upgradable_if_schema_table_is_missing()
        {
            Thread.Sleep(1000);
            using (var dbMgr = new DatabaseManager())
            {
                dbMgr.UpdateToLatestVersion = false;
                dbMgr.CreateEmptyDatabase();

                var sut    = new SchemaManager(() => dbMgr.OpenConnection());
                var actual = sut.CanSchemaBeUpgraded();

                actual.Should().BeTrue();
            }
        }
示例#7
0
        private void UpgradeDatabaseSchema()
        {
            // Dont run for new installations
            if (!IsConfigured)
            {
                return;
            }

            try
            {
                var migrator = new SchemaManager(() => OpenConnection(CoderrClaims.SystemPrincipal));
                if (migrator.CanSchemaBeUpgraded())
                {
                    migrator.UpgradeDatabaseSchema();
                }
            }
            catch (Exception ex)
            {
                _logger.Error("DB Migration failed.", ex);
                Err.Report(ex, new { Migration = true });
            }
        }
 /// <summary>
 ///     Check if the current DB schema is out of date compared to the embedded schema resources.
 /// </summary>
 public bool CanSchemaBeUpgraded()
 {
     return(_schemaManager.CanSchemaBeUpgraded());
 }