public override void UniqueConstraint_Change_NewColumn_UcName(SqlEngineVersion version)
        {
            var dds     = UniqueConstraint_Change_NewColumn_UcName_Dds(version);
            var changes = Compare(version, dds);

            Assert.AreEqual(2, changes.Count);
            _ = (ColumnNew)changes[0];
            _ = (UniqueConstraintChange)changes[1];
        }
        public void GeneratorUniqueIndex(SqlEngineVersion version)
        {
            var db = new TestDatabaseUniqueIndex();
            var documenterContext = DataDefinitionDocumenterTestsHelper.CreateTestGeneratorContext(version, new DocumenterTests.TableCustomizer());
            var writer            = CSharpWriterFactory.GetCSharpWriter(version, documenterContext, "TestDatabaseUniqueIndex");
            var generator         = new CSharpGenerator(writer, version, "TestDatabaseUniqueIndex", "FizzCode.DbTools.DataDefinitionDocumenter.Tests");

            generator.GenerateMultiFile(db);
        }
        public override void Column_Change_NotNullableToNullable_WithFk(SqlEngineVersion version)
        {
            var dds     = Column_Change_NotNullableToNullable_WithFk_Dds(version);
            var changes = Compare(version, dds);

            Assert.AreEqual(2, changes.Count);
            _ = changes[0] as ColumnChange;
            _ = changes[1] as ForeignKeyChange;
        }
 public void UniqueConstratintAsFk(SqlEngineVersion version)
 {
     if (version is SqLiteVersion)
     {
         return;
     }
     // TODO SqLite - You can't add a constraint to existing table in SQLite - should work at create table time
     GenerateDatabase(new DbUniqueConstratintAsFk(), version);
 }
        public override void Column_Change_NotNullableToNullable_WithFk(SqlEngineVersion version)
        {
            var dds = Column_Change_NotNullableToNullable_WithFk_Dds(version);
            var databaseMigrator = ProcessAndGetMigrator(version, dds, out var changes);
            var columnChange     = (ColumnChange)changes[0];

            _ = (ForeignKeyChange)changes[1];
            databaseMigrator.ChangeColumns(columnChange);
        }
        public void GeneratorForeignKeyComposite2(SqlEngineVersion version)
        {
            var db = new ForeignKeyCompositeSetForeignKeyTo();
            var documenterContext = DataDefinitionDocumenterTestsHelper.CreateTestGeneratorContext(version, new DocumenterTests.TableCustomizer());
            var writer            = CSharpWriterFactory.GetCSharpWriter(version, documenterContext, "ForeignKeyCompositeSetForeignKeyTo");
            var generator         = new CSharpGenerator(writer, version, "ForeignKeyCompositeSetForeignKeyTo", "FizzCode.DbTools.DataDefinitionDocumenter.Tests");

            generator.GenerateMultiFile(db);
        }
        public override void Identity_Change(SqlEngineVersion version)
        {
            var dds     = Identity_Change_Dds(version);
            var changes = Compare(version, dds);

            Assert.AreEqual(1, changes.Count);
            var columnChange = (ColumnChange)changes[0];
            var _            = columnChange.SqlColumnPropertyMigrations[0] as IdentityChange;
        }
Example #8
0
        public void CreateTables(SqlEngineVersion version)
        {
            var dd = new TestDatabaseCircular2FK();

            Init(version, dd);
            var creator = new DatabaseCreator(dd, _sqlExecuterTestAdapter.GetExecuter(version.UniqueName));

            creator.ReCreateDatabase(true);
        }
Example #9
0
        public void GeneratorUniqueConstratintAsFk(SqlEngineVersion version)
        {
            var db = new DbUniqueConstratintAsFk();
            var documenterContext = DataDefinitionDocumenterTestsHelper.CreateTestGeneratorContext(version, new DocumenterTests.TableCustomizer());
            var writer            = CSharpTypedWriterFactory.GetCSharpTypedWriter(version, documenterContext, "DbUniqueConstratintAsFk");
            var generator         = new CSharpTypedGenerator(writer, version, "DbUniqueConstratintAsFk", "FizzCode.DbTools.DataDefinitionDocumenter.Tests");

            generator.GenerateMultiFile(db);
        }
Example #10
0
        public void GeneratorSqlTableCustomProperty(SqlEngineVersion version)
        {
            var db = new SqlTableCustomPropertyDbTyped();
            var documenterContext = DataDefinitionDocumenterTestsHelper.CreateTestGeneratorContext(version, new DocumenterTests.TableCustomizer());
            var writer            = CSharpTypedWriterFactory.GetCSharpTypedWriter(version, documenterContext, "SqlTableCustomPropertyDbTyped");
            var generator         = new CSharpTypedGenerator(writer, version, "SqlTableCustomPropertyDbTyped", "FizzCode.DbTools.DataDefinitionDocumenter.Tests");

            generator.GenerateSingleFile(db, $"SqlTableCustomPropertyDbTyped_{version}.cs");
        }
        public override void Column_Change_Length(SqlEngineVersion version)
        {
            TestHelper.CheckFeature(version, "ColumnLength");

            var dds = Column_Change_Length_Dds(version);
            var databaseMigrator = ProcessAndGetMigrator(version, dds, out var changes);
            var first            = changes[0] as ColumnChange;

            databaseMigrator.ChangeColumns(first);
        }
        public void CircularDdA0B1C1_B2C2(SqlEngineVersion version)
        {
            var dd = new CircularDdA0B1C1_B2C2();

            dd.SetVersions(version.GetTypeMapper());

            var documenter = new Documenter(DataDefinitionDocumenterTestsHelper.CreateTestDocumenterContext(version), version, "CircularDdA0B1C1_B2C2");

            documenter.Document(dd);
        }
        public void UniqueIndexAsFk(SqlEngineVersion version)
        {
            if (version is OracleVersion)
            {
                return;
            }

            // TODO Unique index by default is not acceptable as reference for FK in Oracle
            GenerateDatabase(new DbUniqueIndexAsFk(), version);
        }
        public override void Fk_Add(SqlEngineVersion version)
        {
            var dds = Fk_Add_Dds(version);

            var databaseMigrator = ProcessAndGetMigrator(version, dds, out var changes);

            var foreignKeyNew = (ForeignKeyNew)changes[0];

            databaseMigrator.NewForeignKey(foreignKeyNew);
        }
        public override void Column_Add(SqlEngineVersion version)
        {
            var dds     = Column_Add_Dds(version);
            var changes = Compare(version, dds);

            Assert.AreEqual(1, changes.Count);
            var first = (ColumnNew)changes[0];

            Assert.AreEqual("Name2", first.Name);
        }
        public override void Table_Remove(SqlEngineVersion version)
        {
            var dds     = Table_Remove_Dds(version);
            var changes = Compare(version, dds);

            Assert.AreEqual(1, changes.Count);
            var first = (TableDelete)changes[0];

            Assert.AreEqual((SchemaAndTableName)"NewTableToMigrate", first.SchemaAndTableName);
        }
        public void CreateTables(SqlEngineVersion version)
        {
            var dd = new ForeignKeyComposite();

            Init(version, dd);

            var creator = new DatabaseCreator(dd, _sqlExecuterTestAdapter.GetExecuter(version.UniqueName));

            creator.ReCreateDatabase(true);
        }
        private static Context GetContext(SqlEngineVersion version)
        {
            var context = new Context
            {
                Settings = TestHelper.GetDefaultTestSettings(version),
                Logger   = TestHelper.CreateLogger()
            };

            return(context);
        }
        public override void UniqueConstraint_Change(SqlEngineVersion version)
        {
            var dds = UniqueConstraint_Change_Dds(version);

            /* var databaseMigrator = */
            ProcessAndGetMigrator(version, dds, out var changes);
            _ = (UniqueConstraintDelete)changes[0];
            _ = (UniqueConstraintNew)changes[1];
            // databaseMigrator.
        }
        public override void Column_Change2_Length(SqlEngineVersion version)
        {
            TestHelper.CheckFeature(version, "ColumnLength");

            var dds = Column_Change2_Length_Dds(version);
            var databaseMigrator   = ProcessAndGetMigrator(version, dds, out var changes);
            var columnChangesArray = changes.Cast <ColumnChange>().ToArray();

            databaseMigrator.ChangeColumns(columnChangesArray);
        }
Example #21
0
        public void GeneratorForeignKeyComposite1(SqlEngineVersion version)
        {
            var db = new ForeignKeyComposite();

            var documenterContext = DataDefinitionDocumenterTestsHelper.CreateTestGeneratorContext(version);
            var writer            = CSharpTypedWriterFactory.GetCSharpTypedWriter(version, documenterContext, "ForeignKeyComposite");
            var generator         = new CSharpTypedGenerator(writer, version, "ForeignKeyComposite", "FizzCode.DbTools.DataDefinitionDocumenter.Tests");

            generator.GenerateMultiFile(db);
        }
Example #22
0
        private static Context CreateContext(SqlEngineVersion version)
        {
            var context = new Context
            {
                Logger   = CreateLogger(),
                Settings = Helper.GetDefaultSettings(version, Program.Configuration)
            };

            return(context);
        }
        public override void Identity_Change(SqlEngineVersion version)
        {
            var dds = Identity_Change_Dds(version);

            /* var databaseMigrator = */
            ProcessAndGetMigrator(version, dds, out var changes);

            var _ = changes[0] as ColumnChange;
            // databaseMigrator.;
        }
Example #24
0
        public void ReadTables(SqlEngineVersion version)
        {
            Init(version, null);

            var ddlReader = DataDefinitionReaderFactory.CreateDataDefinitionReader(
                _sqlExecuterTestAdapter.ConnectionStrings[version.UniqueName],
                _sqlExecuterTestAdapter.GetContext(version), null);

            _ = ddlReader.GetDatabaseDefinition();
        }
        public override void Index_Add(SqlEngineVersion version)
        {
            var dds = Index_Add_Dds(version);

            /* var databaseMigrator = */
            ProcessAndGetMigrator(version, dds, out var changes);

            _ = (IndexNew)changes[0];

            // databaseMigrator.NewIndex(first);
        }
        public override void Index_Change(SqlEngineVersion version)
        {
            var dds = Index_Change_Dds(version);

            /* var databaseMigrator = */
            ProcessAndGetMigrator(version, dds, out var changes);

            _ = (IndexChange)changes[0];

            // databaseMigrator
        }
Example #27
0
        protected static void Init(SqlEngineVersion version, DatabaseDefinition dd)
        {
            SqlExecuterTestAdapter.Check(version);
            SqlExecuterTestAdapter.Initialize(version.UniqueName, dd);

            SqlExecuterTestAdapter.GetContext(version).Settings.Options.ShouldUseDefaultSchema = true;

            var databaseCreator = new DatabaseCreator(dd, SqlExecuterTestAdapter.GetExecuter(version.UniqueName));

            databaseCreator.ReCreateDatabase(true);
        }
        public override void UniqueConstraint_Change_NewColumn_UcName(SqlEngineVersion version)
        {
            var dds = UniqueConstraint_Change_NewColumn_UcName_Dds(version);

            /* var databaseMigrator = */
            ProcessAndGetMigrator(version, dds, out var changes);
            _ = (ColumnNew)changes[0];
            _ = (UniqueConstraintChange)changes[1];
            // var first = changes[0] as ColumnChange;
            // databaseMigrator.
        }
Example #29
0
        protected static DatabaseDefinitions UniqueConstraint_Change_NewColumn_Dds(SqlEngineVersion version)
        {
            var ddOriginal = new TestDatabaseUniqueConstraint();

            ddOriginal.SetVersions(version.GetTypeMapper());

            var ddNew = new TestDatabaseUniqueConstraint2();

            ddNew.SetVersions(version.GetTypeMapper());

            return(new DatabaseDefinitions(ddOriginal, ddNew, "TestDatabaseUniqueConstraint", "TestDatabaseUniqueConstraint2"));
        }
Example #30
0
        protected static DatabaseDefinitions Index_Add_Dds(SqlEngineVersion version)
        {
            var ddOriginal = new TestDatabaseSimple();

            ddOriginal.SetVersions(version.GetTypeMapper());

            var ddWithNewIndex = new TestDatabaseIndex();

            ddWithNewIndex.SetVersions(version.GetTypeMapper());

            return(new DatabaseDefinitions(ddOriginal, ddWithNewIndex, "TestDatabaseSimple", "TestDatabaseIndex_Index_Add"));
        }