コード例 #1
0
 public MetadataSqlClientCommand(
     List <string> args,
     IDbSchemaReader schemaReader,
     IMetadataWriter <DbModel> metadataWriter,
     IOutputWriter outputWriter)
 {
     _args           = args;
     _schemaReader   = schemaReader;
     _metadataWriter = metadataWriter;
     _outputWriter   = outputWriter;
 }
        public virtual DbHistorySchemaController Build(IDbSchemaReader reader, IScriptDestinationWriter writer)
        {
            _logger.LogMessage("Building Db History Schema Controller using the following configuration {0}", GetConfigurationLogString());

            return(new DbHistorySchemaController(
                       reader,
                       new HistoryTableInspector(this.Configuration, _logger),
                       new HistoryPerTableChangeScriptGenerator(this.Configuration, _logger),
                       writer,
                       _logger
                       ));
        }
 public DbHistorySchemaController(
     IDbSchemaReader reader,
     IHistoryTableInspector inspector,
     IChangeScriptGenerator scriptGenerator,
     IScriptDestinationWriter writer,
     ILogger logger
     )
 {
     this._reader          = reader;
     this._inspector       = inspector;
     this._scriptGenerator = scriptGenerator;
     this._writer          = writer;
     this._logger          = logger;
 }
コード例 #4
0
        public CommandFactory(
            IDbSchemaReader dbSchemaReader,
            IAssemblyReader assemblyReader,
            IMetadataWriter <DbModel> dbModelMetadataWriter,
            IMetadataWriter <AssemblyModel> assemblyMetadataWriter,
            IMetadataReader metadataReader,
            ITransformer transformer,
            IOutputWriter outputWriter,
            IDirectory directoryWrapper,
            IFile fileWrapper,
            CommandContext context)
        {
            RegisterCommand("h", "help", () => new HelpCommand(outputWriter));
            RegisterCommand("v", "version", () => new VersionCommand(outputWriter));

            RegisterCommand("metadata-dotnet", () => new MetadataDotNetCommand(
                                context.CommandArgs,
                                assemblyReader,
                                assemblyMetadataWriter,
                                outputWriter));

            RegisterCommand("metadata-sqlclient", () => new MetadataSqlClientCommand(
                                context.CommandArgs,
                                dbSchemaReader,
                                dbModelMetadataWriter,
                                outputWriter));

            RegisterCommand("metadata-oledb", () => new MetadataOledbCommand());

            RegisterCommand("metadata-list", () => new MetadataListCommand(
                                context.CommandArgs,
                                metadataReader,
                                fileWrapper,
                                outputWriter));

            RegisterCommand("generate", () => new GenerateCommand(
                                context.CommandArgs,
                                transformer,
                                metadataReader,
                                directoryWrapper,
                                fileWrapper,
                                outputWriter));
        }
コード例 #5
0
                                               DbType.UInt64,            DbType.VarNumeric };                                                          // 22-23

        #region Database Schema functions

        /// <summary>
        /// Loads and fills the Database schema (tables, fields, and types)
        /// </summary>
        public void LoadDatabaseSchema()
        {
            IDbSchemaReader schemaReader = null;

            switch (_dp)
            {
            case DataProvider.SQL:
                schemaReader = new SqlSchemaReader(_conStr);
                break;

            case DataProvider.ORACLE:
                schemaReader = new OracleSchemaReader(_conStr, _ownerStr, "USERS");
                break;
            }

            System.Collections.Specialized.StringCollection tables = schemaReader.GetTables();
            _databaseSchema = new System.Collections.Hashtable(tables.Count);
            foreach (string table in tables)
            {
                _databaseSchema.Add(table, schemaReader.GetTableSchema(table));
            }
        }
コード例 #6
0
 public DefaultDbSchemaReader_Tests()
 {
     _dbSchemaReader = GetRequiredService <IDbSchemaReader>();
 }
コード例 #7
0
 public SchemaService(IDbSchemaReader dbSchemaReader, ILogger <SchemaService> logger)
 {
     _dbSchemaReader = dbSchemaReader ?? throw new ArgumentNullException(nameof(dbSchemaReader));
     _logger         = logger ?? throw new ArgumentNullException(nameof(logger));
 }