コード例 #1
0
 public SqlDowngradeEnabledTableJournal(
     Func <IConnectionManager> connectionManager,
     Func <IUpgradeLog> logger,
     string schema,
     string table,
     IScriptProvider downgradeScriptsProvider,
     IDowngradeScriptFinder downgradeScriptFinder)
     : base(connectionManager, logger, new SqlServerObjectParser(), schema, table ?? DefaultTable, downgradeScriptsProvider, downgradeScriptFinder)
 {
 }
コード例 #2
0
 public DowngradeEnabledTableJournal(
     Func <IConnectionManager> connectionManager,
     Func <IUpgradeLog> logger,
     ISqlObjectParser sqlObjectParser,
     string schema,
     string table,
     IScriptProvider downgradeScriptsProvider,
     IDowngradeScriptFinder downgradeScriptFinder)
     : base(connectionManager, logger, sqlObjectParser, schema, table)
 {
     _downgradeScripts        = downgradeScriptsProvider.GetScripts(connectionManager()).ToList();
     journalIsInLatestVersion = false;
     _downgradeScriptFinder   = downgradeScriptFinder;
 }
コード例 #3
0
        /// <summary>
        /// Creates UpgradeEngineBuilder with WithDowngradeTableProvider.
        /// </summary>
        /// <typeparam name="TDowngradeEnabledTableJournal">Table inhered from DowngradeEnabledTableJournal</typeparam>
        /// <param name="builder">Static extention to UpgradeEngineBuilder</param>
        /// <param name="downgradeScriptProvider">Pre-defined downgrade scripts provider from DbUp.IScriptProvider</param>
        /// <param name="downgradeScriptFinder">IDowngradeScriptFinder implementation that can match scripts with downgradeScript. Matching by name is provided by default implementation <see cref="DefaultDowngradeScriptFinder"/></param>
        /// <param name="schema">Schema name</param>
        /// <param name="table">Table Name where execuded scripts will be stored default: "SchemaVersions".</param>
        /// <returns></returns>
        public static UpgradeEngineBuilder WithDowngradeTableProvider <TDowngradeEnabledTableJournal>(this UpgradeEngineBuilder builder,
                                                                                                      IScriptProvider downgradeScriptProvider,
                                                                                                      IDowngradeScriptFinder downgradeScriptFinder,
                                                                                                      string schema = null,
                                                                                                      string table  = null) where TDowngradeEnabledTableJournal : DowngradeEnabledTableJournal
        {
            builder.Configure(c =>
            {
                Func <IConnectionManager> connectionManager = () => c.ConnectionManager;
                Func <IUpgradeLog> log = () => c.Log;
                c.Journal = (TDowngradeEnabledTableJournal)Activator.CreateInstance(typeof(TDowngradeEnabledTableJournal),
                                                                                    connectionManager, log, schema, table, downgradeScriptProvider, downgradeScriptFinder);
            });

            return(builder);
        }