Пример #1
0
        public static IMigrationRunnerBuilder AddSupportedDatabases(this IMigrationRunnerBuilder builder, IEnumerable <string> supportedDialects)
        {
            foreach (var supportedDialect in supportedDialects)
            {
                switch (supportedDialect)
                {
                case MigratorDatabaseDialect.DB2:
                    builder = builder.AddDb2();
                    break;

                case MigratorDatabaseDialect.Firebird:
                    builder = builder.AddFirebird();
                    break;

                case MigratorDatabaseDialect.Hana:
                    builder = builder.AddHana();
                    break;

                case MigratorDatabaseDialect.MySql:
                    builder = builder.AddMySql5();
                    break;

                case MigratorDatabaseDialect.Oracle:
                    builder = builder.AddOracle();
                    break;

                case MigratorDatabaseDialect.Postgres:
                    builder = builder.AddPostgres();
                    break;

                case MigratorDatabaseDialect.Redshift:
                    builder = builder.AddRedshift();
                    break;

                case MigratorDatabaseDialect.SqlAnywhere:
                    builder = builder.AddSqlAnywhere();
                    break;

                case MigratorDatabaseDialect.SqlServer:
                    builder = builder.AddSqlServer();
                    break;

                case MigratorDatabaseDialect.Sqlite:
                    builder = builder.AddSQLite();
                    break;
                }
            }

            return(builder);
        }
        /// <summary>
        /// Get the correct database provider from the Migration Context
        /// </summary>
        /// <param name="runnerBuilder">IMigrationRunnerBuilder</param>
        /// <param name="context">BaseMigrationContext</param>
        /// <returns>IMigrationRunnerBuilder with correct database configured</returns>
        public static IMigrationRunnerBuilder GetDatabase(this IMigrationRunnerBuilder runnerBuilder,
                                                          BaseMigrationContext context)
        {
            switch (context.DatabaseProvider)
            {
            case "postgresql":
                return(runnerBuilder.AddPostgres());

            case "sqlserver":
                return(runnerBuilder.AddSqlServer());

            case "sqlite":
                return(runnerBuilder.AddSQLite());

            case "firebird":
                return(runnerBuilder.AddFirebird());

            default:
                throw new ArgumentException("Unable to define database provider");
            }
        }
Пример #3
0
 /// <summary>
 /// Adds Firebird support
 /// </summary>
 /// <param name="builder">The builder to add the Firebird-specific services to</param>
 /// <returns>The migration runner builder</returns>
 public static IMigrationRunnerBuilder AddFirebird(this IMigrationRunnerBuilder builder)
 {
     return(builder.AddFirebird(FirebirdOptions.AutoCommitBehaviour()));
 }