Ejemplo n.º 1
0
        public async Task GenerateSchemaNoChanges()
        {
            var TestObject = new SQLServerSchemaGenerator(Canister.Builder.Bootstrapper.ResolveAll <ISourceBuilder>(), Canister.Builder.Bootstrapper.ResolveAll <ICommandBuilder>(), Canister.Builder.Bootstrapper.Resolve <IConfiguration>(), Helper, Helper);
            var Source     = await TestObject.GetSourceStructureAsync(new Connection(Configuration, SqlClientFactory.Instance, "", "Default")).ConfigureAwait(false);

            var Result = TestObject.GenerateSchema(Source, Source);

            Assert.NotNull(Result);
            Assert.Empty(Result);
        }
Ejemplo n.º 2
0
        public async Task SchemaGenerationTimeSpan()
        {
            var TestObject = new SQLServerSchemaGenerator(Canister.Builder.Bootstrapper.ResolveAll <ISourceBuilder>(), Canister.Builder.Bootstrapper.ResolveAll <ICommandBuilder>(), Canister.Builder.Bootstrapper.Resolve <IConfiguration>(), Helper, Helper);
            var Source     = await TestObject.GetSourceStructureAsync(new Connection(Configuration, SqlClientFactory.Instance, "", "Default2")).ConfigureAwait(false);

            var Destination = new Modeler.Providers.Source("Default2");
            var Table       = Destination.AddTable("AllReferencesAndID_", "dbo");

            Table.AddColumn <TimeSpan>("TimeSpanValue_", typeof(TimeSpan).To <DbType>());
            var Results = TestObject.GenerateSchema(Destination, Source);

            Assert.Empty(Results);
        }
Ejemplo n.º 3
0
        public async Task GenerateSchemaChanges()
        {
            var TestObject = new SQLServerSchemaGenerator(Canister.Builder.Bootstrapper.ResolveAll <ISourceBuilder>(), Canister.Builder.Bootstrapper.ResolveAll <ICommandBuilder>(), Canister.Builder.Bootstrapper.Resolve <IConfiguration>(), Helper, Helper);
            var Source     = await TestObject.GetSourceStructureAsync(new Connection(Configuration, SqlClientFactory.Instance, "", "Default")).ConfigureAwait(false);

            var Desired = Source.Copy();

            Desired.Tables[0].AddColumn <int>("Column B", System.Data.DbType.Int32);
            var Result = TestObject.GenerateSchema(Desired, Source);

            Assert.NotNull(Result);
            Assert.Single(Result);
            Assert.Equal("ALTER TABLE [dbo].[Attachment] ADD [Column B] Int", Result[0]);
        }
Ejemplo n.º 4
0
        public async Task SchemaGenerationForeignKeysAlreadyExist()
        {
            var TestObject = new SQLServerSchemaGenerator(Canister.Builder.Bootstrapper.ResolveAll <ISourceBuilder>(), Canister.Builder.Bootstrapper.ResolveAll <ICommandBuilder>(), Canister.Builder.Bootstrapper.Resolve <IConfiguration>(), Helper, Helper);
            var Source     = await TestObject.GetSourceStructureAsync(new Connection(Configuration, SqlClientFactory.Instance, "", "Default2")).ConfigureAwait(false);

            var Destination = new Modeler.Providers.Source("Default2");
            var Table       = Destination.AddTable("ConcreteClass3_", "dbo");
            var Column1     = Table.AddColumn <int>("IInterface1_ID_", typeof(int).To <DbType>());
            var Table2      = Destination.AddTable("IInterface1_", "dbo");

            Table2.AddColumn <int>("ID_", typeof(int).To <DbType>());
            Column1.AddForeignKey("IInterface1_", "ID_");
            Table.SetupForeignKeys();
            var Results = TestObject.GenerateSchema(Destination, Source);

            Assert.Empty(Results);
        }