コード例 #1
0
        /// <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();
             }
        }
コード例 #2
0
        /// <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();
             }
        }