/// <summary> /// Creates an upgrader for MySql databases. /// </summary> /// <param name="connectionManager">The <see cref="MySqlConnectionManager"/> to be used during a database upgrade.</param> /// <returns> /// A builder for a database upgrader designed for MySql databases. /// </returns> public static UpgradeEngineBuilder MySqlDatabase(IConnectionManager connectionManager) { var builder = new UpgradeEngineBuilder(); builder.Configure(c => c.ConnectionManager = connectionManager); builder.Configure(c => c.ScriptExecutor = new SqlScriptExecutor(() => c.ConnectionManager, () => c.Log, null, () => c.VariablesEnabled, c.ScriptPreprocessors)); builder.Configure(c => c.Journal = new MySqlITableJournal(() => c.ConnectionManager, () => c.Log, null, "schemaversions")); builder.WithPreprocessor(new MySqlPreprocessor()); return builder; }
/// <summary> /// Creates an upgrader for SQL CE databases. /// </summary> /// <param name="supported">Fluent helper type.</param> /// <param name="connectionFactory">The connection factory.</param> /// <returns> /// A builder for a database upgrader designed for SQL Server databases. /// </returns> public static UpgradeEngineBuilder SqlCeDatabase(this SupportedDatabases supported, Func<SqlCeConnection> connectionFactory) { var builder = new UpgradeEngineBuilder(); builder.Configure(c => c.ConnectionFactory = connectionFactory); builder.Configure(c => c.ScriptExecutor = new SqlScriptExecutor(c.ConnectionFactory, () => c.Log, null, c.ScriptPreprocessors)); builder.Configure(c => c.Journal = new SqlTableJournal(c.ConnectionFactory, null, "SchemaVersions", c.Log)); builder.WithPreprocessor(new SqlCePreprocessor()); return builder; }
/// <summary> /// Creates an upgrader for Firebird databases. /// </summary> /// <param name="connectionManager">The <see cref="FirebirdConnectionManager"/> to be used during a database upgrade.</param> /// <returns> /// A builder for a database upgrader designed for Firebird databases. /// </returns> public static UpgradeEngineBuilder FirebirdDatabase(IConnectionManager connectionManager) { var builder = new UpgradeEngineBuilder(); builder.Configure(c => c.ConnectionManager = connectionManager); builder.Configure(c => c.ScriptExecutor = new SqlScriptExecutor(() => c.ConnectionManager, () => c.Log, null, () => false, c.ScriptPreprocessors)); builder.Configure(c => c.Journal = new FirebirdTableJournal(() => c.ConnectionManager, () => c.Log, "schemaversions")); builder.WithPreprocessor(new FirebirdPreprocessor()); return builder; }
/// <summary> /// Creates an upgrade for SQLite databases with a given database connection /// </summary> /// <param name="supported">Fluent helper type.</param> /// <param name="sqliteConnection">Given SQLite database connection object which is used by DbUp upgrade engine</param> /// <returns> /// A builder for a database upgrader designed for SQLite databases. /// </returns> public static UpgradeEngineBuilder SQLiteDatabase(this SupportedDatabases supported, SQLiteConnection sqliteConnection) { var builder = new UpgradeEngineBuilder(); builder.Configure(c => c.ConnectionManager = new SQLiteConnectionManager(sqliteConnection)); builder.Configure(c => c.Journal = new SQLiteTableJournal(() => c.ConnectionManager, () => c.Log, "SchemaVersions")); builder.Configure(c => c.ScriptExecutor = new SqlScriptExecutor(() => c.ConnectionManager, () => c.Log, null, () => c.VariablesEnabled, c.ScriptPreprocessors)); builder.WithPreprocessor(new SQLitePreprocessor()); return builder; }