/// <summary> /// Creates tables in source oracle database and asserts that they exist /// </summary> /// <param name="experssions">The tables to be created</param> private void ExecuteMigrations(params IMigrationExpression[] experssions) { if (experssions == null) return; using (var connection = OracleFactory.GetOpenConnection(_source.ConnectionString)) { var processor = new OracleProcessor(connection, new OracleGenerator(), new DebugAnnouncer(), new ProcessorOptions()); foreach (var expression in experssions) { if (expression is CreateTableExpression) { var create = (CreateTableExpression)expression; processor.Process(create); Assert.IsTrue(processor.TableExists(string.Empty, create.TableName), "Source " + create.TableName); } if (expression is CreateForeignKeyExpression) { processor.Process((CreateForeignKeyExpression)expression); } } processor.CommitTransaction(); } }
/// <summary> /// Creates views in Oracle using the <see cref="ViewDefinition.CreateViewSql"/> /// </summary> /// <param name="view">The views to be created</param> private void CreateViews(params ViewDefinition[] view) { using (var connection = OracleFactory.GetOpenConnection(_source.ConnectionString)) { var processor = new OracleProcessor(connection, new OracleGenerator(), new DebugAnnouncer(), new ProcessorOptions()); foreach (var viewDefinition in view) { processor.Execute(viewDefinition.CreateViewSql); } processor.CommitTransaction(); } }