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 void GeneratorUniqueConstraint(SqlEngineVersion version) { var db = new TestDatabaseUniqueConstraint(); var documenterContext = DataDefinitionDocumenterTestsHelper.CreateTestGeneratorContext(version, new DocumenterTests.TableCustomizer()); var writer = CSharpWriterFactory.GetCSharpWriter(version, documenterContext, "TestDatabaseUniqueConstraint"); var generator = new CSharpGenerator(writer, version, "TestDatabaseUniqueConstraint", "FizzCode.DbTools.DataDefinitionDocumenter.Tests"); generator.GenerateMultiFile(db); }
public void FkNoCheckTest() { var version = MsSqlVersion.MsSql2016; var dd = new TestDatabaseFkNoCheckTest(); var documenterContext = DataDefinitionDocumenterTestsHelper.CreateTestGeneratorContext(version, new DocumenterTests.TableCustomizer()); var writer = CSharpWriterFactory.GetCSharpWriter(version, documenterContext, "TestDatabaseFkNoCheckTest"); var generator = new CSharpGenerator(writer, version, "TestDatabaseFkNoCheckTest", "FizzCode.DbTools.DataDefinitionDocumenter.Tests"); generator.GenerateSingleFile(dd, "TestDatabaseFkNoCheckTest.cs"); }
public void Generate( [Option(LongName = "connectionString", ShortName = "c", Description = "Provide a valid connection string to the database")] string connectionString, [Option(LongName = "singleOrMulti", ShortName = "m", Description = "multi for multi file, single for single file generation")] string singleOrMulti, [Option(LongName = "sqlType", ShortName = "t")] string sqlType, [Option(LongName = "namespace", ShortName = "n")] string @namespace, [Option(LongName = "newDatabaseName", ShortName = "b")] string newDatabaseName, [Option(LongName = "patternFileName", ShortName = "p")] string patternFileName, [Option(LongName = "flags", ShortName = "f")] List <string> flags) { var version = SqlEngineVersions.GetVersion(sqlType); var connString = new NamedConnectionString( version.GetType().Name, version.ProviderName, connectionString, version.VersionString); var context = CreateContext(version); var ddlReader = DataDefinitionReaderFactory.CreateDataDefinitionReader(connString, context, null); var dd = ddlReader.GetDatabaseDefinition(); var generatorContext = CreateGeneratorContext(context, patternFileName); if (flags != null) { SetSettingsFromFlags(flags, generatorContext.GeneratorSettings); } var writer = CSharpWriterFactory.GetCSharpWriter(version, generatorContext, newDatabaseName); var generator = new CSharpGenerator(writer, version, newDatabaseName, @namespace); if (singleOrMulti == "s" || singleOrMulti == "single") { generator.GenerateSingleFile(dd, newDatabaseName + ".cs"); } else { generator.GenerateMultiFile(dd); } }