Пример #1
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"));
        }
Пример #2
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"));
        }
Пример #3
0
        protected static DatabaseDefinitions Table_Remove_Dds(SqlEngineVersion version)
        {
            var ddOriginal = new TestDatabaseSimple();

            ddOriginal.SetVersions(version.GetTypeMapper());
            AddTable(ddOriginal);

            var ddWithoutNewTable = new TestDatabaseSimple();

            ddWithoutNewTable.SetVersions(version.GetTypeMapper());

            return(new DatabaseDefinitions(ddOriginal, ddWithoutNewTable, "TestDatabaseSimple", "TestDatabaseSimple_Table_Remove"));
        }
Пример #4
0
        protected static DatabaseDefinitions Column_Change_NotNullableToNullable_WithFk_Dds(SqlEngineVersion version)
        {
            var ddOriginal = new TestDatabaseFk();

            ddOriginal.SetVersions(version.GetTypeMapper());

            var ddFkChanged = new TestDatabaseFk();

            ddFkChanged.SetVersions(version.GetTypeMapper());
            ddFkChanged.GetTable("Foreign")["PrimaryId"].Type.IsNullable = true;

            return(new DatabaseDefinitions(ddOriginal, ddFkChanged, "ForeignKeyComposite", "ForeignKeyComposite2_Column_Change_NotNullableToNullable_WithFk"));
        }
Пример #5
0
        protected static DatabaseDefinitions Column_Change_Nullable_Dds(SqlEngineVersion version)
        {
            var ddOriginal = new TestDatabaseSimple();

            ddOriginal.SetVersions(version.GetTypeMapper());

            var ddNullableChanged = new TestDatabaseSimple();

            ddNullableChanged.SetVersions(version.GetTypeMapper());
            ddNullableChanged.GetTable("Company")["Name"].Type.IsNullable = !ddOriginal.GetTable("Company")["Name"].Type.IsNullable;

            return(new DatabaseDefinitions(ddOriginal, ddNullableChanged, "TestDatabaseSimple", "TestDatabaseSimple_Column_Change_Nullable"));
        }
Пример #6
0
        protected static DatabaseDefinitions UniqueConstraint_Change_NewColumn_UcName_Dds(SqlEngineVersion version)
        {
            var ddOriginal = new TestDatabaseUniqueConstraint();

            ddOriginal.SetVersions(version.GetTypeMapper());
            ddOriginal.GetTable("Company").Properties.OfType <UniqueConstraint>().First().Name = "UC_1";

            var ddUcChanged = new TestDatabaseUniqueConstraint2();

            ddUcChanged.SetVersions(version.GetTypeMapper());
            ddUcChanged.GetTable("Company").Properties.OfType <UniqueConstraint>().First().Name = "UC_1";

            return(new DatabaseDefinitions(ddOriginal, ddUcChanged, "TestDatabaseUniqueConstraint", "TestDatabaseUniqueConstraint2_Change_NewColumn_UcName_Dds"));
        }
Пример #7
0
        protected static DatabaseDefinitions Column_Remove_Dds(SqlEngineVersion version)
        {
            var ddOriginal = new TestDatabaseSimple();

            ddOriginal.SetVersions(version.GetTypeMapper());

            var ddColumnRemoved = new TestDatabaseSimple();

            ddColumnRemoved.SetVersions(version.GetTypeMapper());

            ddColumnRemoved.GetTable("Company").Columns.Remove("Name");

            return(new DatabaseDefinitions(ddOriginal, ddColumnRemoved, "TestDatabaseSimple", "TestDatabaseSimple_Column_Remove"));
        }
Пример #8
0
        protected static DatabaseDefinitions Column_Add_Dds(SqlEngineVersion version)
        {
            var ddOriginal = new TestDatabaseSimple();

            ddOriginal.SetVersions(version.GetTypeMapper());

            var ddWithNewColumn = new TestDatabaseSimple();

            ddWithNewColumn.SetVersions(version.GetTypeMapper());

            ddWithNewColumn.GetTable("Company").AddVarChar("Name2", 100);

            return(new DatabaseDefinitions(ddOriginal, ddWithNewColumn, "TestDatabaseSimple", "TestDatabaseSimple_Column_Add"));
        }
Пример #9
0
        protected static DatabaseDefinitions UniqueConstraint_Change_Dds(SqlEngineVersion version)
        {
            var ddOriginal = new TestDatabaseUniqueConstraint();

            ddOriginal.SetVersions(version.GetTypeMapper());

            ddOriginal.GetTable("Company").AddNVarChar("Name2", 100);

            var ddNew = new TestDatabaseUniqueConstraint2();

            ddNew.SetVersions(version.GetTypeMapper());

            return(new DatabaseDefinitions(ddOriginal, ddNew, "TestDatabaseUniqueConstraint_Column_Add", "TestDatabaseUniqueConstraint2"));
        }
Пример #10
0
        protected static DatabaseDefinitions Identity_Change_Dds(SqlEngineVersion version)
        {
            var ddOriginal = new TestDatabaseSimple();

            ddOriginal.SetVersions(version.GetTypeMapper());

            var ddIdentityChanged = new TestDatabaseSimple();

            ddIdentityChanged.SetVersions(version.GetTypeMapper());
            var identity = ddIdentityChanged.Company.Columns["Id"].Properties.OfType <Identity>().First();

            identity.Increment = 2;

            return(new DatabaseDefinitions(ddOriginal, ddIdentityChanged, "TestDatabaseSimple", "TestDatabaseSimple_Identity_Change"));
        }
Пример #11
0
        protected static DatabaseDefinitions Fk_Change_Composite_NameChange_Dds(SqlEngineVersion version)
        {
            var ddOriginal = new ForeignKeyComposite();

            ddOriginal.GetTable("Order").AddInt32("LineNumber2");
            ddOriginal.GetTable("Order").AddUniqueConstraintWithName("UQ_Order_OrderHeaderId_LineNumber_LineNumber2", "OrderHeaderId", "LineNumber", "LineNumber2");
            ddOriginal.GetTable("TopOrdersPerCompany").AddInt32("Top2C");
            ddOriginal.SetVersions(version.GetTypeMapper());

            var ddFkChanged = new ForeignKeyComposite2();

            ddFkChanged.SetVersions(version.GetTypeMapper());

            return(new DatabaseDefinitions(ddOriginal, ddFkChanged, "ForeignKeyComposite", "ForeignKeyComposite2_Fk_Change_Composite_NameChange"));
        }
Пример #12
0
        protected static DatabaseDefinitions Fk_Add_Dds(SqlEngineVersion version)
        {
            var ddOriginal = new TestDatabaseFk();

            ddOriginal.GetTable("Foreign").Properties.Remove(
                ddOriginal.GetTable("Foreign").Properties.OfType <ForeignKey>().First()
                );
            ddOriginal.SetVersions(version.GetTypeMapper());

            var ddWithFK = new TestDatabaseFk();

            ddWithFK.SetVersions(version.GetTypeMapper());

            return(new DatabaseDefinitions(ddOriginal, ddWithFK, "TestDatabaseFk", "TestDatabaseFk_Fk_Add"));
        }
Пример #13
0
        protected static DatabaseDefinitions Column_Change2_Length_Dds(SqlEngineVersion version)
        {
            var ddOriginal = new TestDatabaseSimple();

            ddOriginal.SetVersions(version.GetTypeMapper());
            ddOriginal.GetTable("Company").AddNVarChar("Name2", 100);

            var ddColumnLengthsChanged = new TestDatabaseSimple();

            ddColumnLengthsChanged.SetVersions(version.GetTypeMapper());
            ddColumnLengthsChanged.GetTable("Company").AddNVarChar("Name2", 100);
            ddColumnLengthsChanged.GetTable("Company")["Name"].Type.Length  += 1;
            ddColumnLengthsChanged.GetTable("Company")["Name2"].Type.Length += 1;

            return(new DatabaseDefinitions(ddOriginal, ddColumnLengthsChanged, "TestDatabaseSimple", "TestDatabaseSimple_Column_Change2_Length"));
        }
Пример #14
0
        protected static DatabaseDefinitions Fk_Change_Dds(SqlEngineVersion version)
        {
            var ddOriginal = new TestDatabaseFkChange();

            ddOriginal.SetVersions(version.GetTypeMapper());

            var ddFkChanged = new TestDatabaseFkChange();

            ddFkChanged.GetTable("Foreign").Properties.Remove(
                ddFkChanged.GetTable("Foreign").Properties.OfType <ForeignKey>().First()
                );
            ddFkChanged.GetTable("Foreign").Columns["PrimaryId"].SetForeignKeyToTable("Primary2", "FkChange");
            ddFkChanged.SetVersions(version.GetTypeMapper());

            return(new DatabaseDefinitions(ddOriginal, ddFkChanged, "TestDatabaseFkChange", "TestDatabaseFkChange_Fk_Change"));
        }
Пример #15
0
        protected static DatabaseDefinitions Index_Change_Dds(SqlEngineVersion version)
        {
            var ddOriginal = new TestDatabaseIndexMultiColumn();

            ddOriginal.SetVersions(version.GetTypeMapper());
            ddOriginal.GetTable("Company").Properties.Remove(
                ddOriginal.GetTable("Company").Properties.OfType <Index>().First()
                );
            ddOriginal.GetTable("Company").AddIndexWithName(false, "IX_Company_Name", "Name1");

            var ddWithChangedIndex = new TestDatabaseIndexMultiColumn();

            ddWithChangedIndex.SetVersions(version.GetTypeMapper());
            ddWithChangedIndex.GetTable("Company").Properties.OfType <Index>().First().Name = "IX_Company_Name";

            return(new DatabaseDefinitions(ddOriginal, ddWithChangedIndex, "TestDatabaseIndexMultiColumn", "TestDatabaseIndexMultiColum_Index_Change"));
        }
Пример #16
0
        public void DocumentTestIndexMultiColumnAndInclude(SqlEngineVersion version)
        {
            var db = new TestDatabaseIndexMultiColumnAndInclude();

            db.SetVersions(version.GetTypeMapper());
            var documenter = new Documenter(DataDefinitionDocumenterTestsHelper.CreateTestDocumenterContext(version), version, "TestDatabaseIndexMultiColumnAndInclude");

            documenter.Document(db);
        }
Пример #17
0
        public void DocumentTestForeignKeyComposite(SqlEngineVersion version)
        {
            var db = new ForeignKeyComposite();

            db.SetVersions(version.GetTypeMapper());
            var documenter = new Documenter(DataDefinitionDocumenterTestsHelper.CreateTestDocumenterContext(version), version, "ForeignKeyComposite");

            documenter.Document(db);
        }
Пример #18
0
        public void TableCustomizerTest(SqlEngineVersion version)
        {
            var db = new TestDatabaseFks();

            db.SetVersions(version.GetTypeMapper());
            var documenter = new Documenter(DataDefinitionDocumenterTestsHelper.CreateTestDocumenterContext(version, new TableCustomizer()), version, "TestDatabaseFks");

            documenter.Document(db);
        }
Пример #19
0
        public void DocumentTestUniqueConstraint(SqlEngineVersion version)
        {
            var db = new TestDatabaseUniqueConstraint();

            db.SetVersions(version.GetTypeMapper());
            var documenter = new Documenter(DataDefinitionDocumenterTestsHelper.CreateTestDocumenterContext(version), version, "TestDatabaseUniqueConstraint");

            documenter.Document(db);
        }
        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);
        }
Пример #21
0
        protected static DatabaseDefinitions Pk_Add_Dds(SqlEngineVersion version)
        {
            var ddOriginal = new TestDatabaseSimple();

            ddOriginal.GetTable("Company").Columns["Id"].Properties.Remove(
                ddOriginal.GetTable("Company").Columns["Id"].Properties.OfType <Identity>().First()
                );
            ddOriginal.GetTable("Company").Properties.Remove(
                ddOriginal.GetTable("Company").Properties.OfType <PrimaryKey>().First()
                );
            ddOriginal.SetVersions(version.GetTypeMapper());

            var ddWithPk = new TestDatabaseSimple();

            ddWithPk.SetVersions(version.GetTypeMapper());
            ddWithPk.GetTable("Company").Columns["Id"].Properties.Remove(
                ddWithPk.GetTable("Company").Columns["Id"].Properties.OfType <Identity>().First()
                );

            return(new DatabaseDefinitions(ddOriginal, ddWithPk, "TestDatabaseSimple", "TestDatabaseSimple_Pk_Add"));
        }
Пример #22
0
        protected static DatabaseDefinitions Column_Change_DbType_Dds(SqlEngineVersion version)
        {
            var ddOriginal = new TestDatabaseSimple();

            ddOriginal.SetVersions(version.GetTypeMapper());

            var ddDbTypeChanged = new TestDatabaseSimple();

            ddDbTypeChanged.SetVersions(version.GetTypeMapper());

            if (version == MsSqlVersion.MsSql2016)
            {
                ddDbTypeChanged.GetTable("Company")["Name"].Type.SqlTypeInfo = MsSqlType2016.NChar;
            }
            else if (version == OracleVersion.Oracle12c)
            {
                ddDbTypeChanged.GetTable("Company")["Name"].Type.SqlTypeInfo = OracleType12c.NChar;
            }

            return(new DatabaseDefinitions(ddOriginal, ddDbTypeChanged, "TestDatabaseSimple", "TestDatabaseSimple_Column_Change_DbType"));
        }
Пример #23
0
        protected static DatabaseDefinitions Fk_Change_Composite_NoNameChange_Dds(SqlEngineVersion version)
        {
            var ddOriginal = new ForeignKeyComposite();

            ddOriginal.GetTable("Order").AddInt32("LineNumber2");
            ddOriginal.GetTable("Order").AddUniqueConstraintWithName("UQ_Order_OrderHeaderId_LineNumber_LineNumber2", "OrderHeaderId", "LineNumber", "LineNumber2");
            ddOriginal.GetTable("TopOrdersPerCompany").AddInt32("Top2C");
            ddOriginal.SetVersions(version.GetTypeMapper());

            var fkOriginal = ddOriginal
                             .GetTable("TopOrdersPerCompany").Properties
                             .OfType <ForeignKey>()
                             .First(fk => fk.ForeignKeyColumns.Any(fkcm => fkcm.ForeignKeyColumn.Name == "Top2A"));

            fkOriginal.Name = "FK_TopOrdersPerCompany_2";

            var ddFkChanged = new ForeignKeyComposite2();

            ddFkChanged.SetVersions(version.GetTypeMapper());

            return(new DatabaseDefinitions(ddOriginal, ddFkChanged, "ForeignKeyComposite", "ForeignKeyComposite2_Fk_Change_Composite_NoNameChange"));
        }
        public void CircularFKDetectorABC_X(SqlEngineVersion version)
        {
            var dd = new CircularDdABC_X();

            dd.SetVersions(version.GetTypeMapper());

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

            documenter.Document(dd);

            // TODO move to dd test
            // CircularFKDetector.DectectCircularFKs(dd.GetTables());
            // var cs = dd.GetTables().Select(t => t.Properties.OfType<CircularFK>()).ToList();
        }