public SqlServer2008Processor(ILogger logger,
                               SqlServer2008Generator generator,
                               ProcessorOptions options)
     : base(new[] {
     "SqlServer2008",
     "SqlServer"
 }, generator, logger, options)
 {
 }
Esempio n. 2
0
 /// <inheritdoc />
 public SqlServer2008Processor(
     [NotNull] ILogger <SqlServer2008Processor> logger,
     [NotNull] SqlServer2008Quoter quoter,
     [NotNull] SqlServer2008Generator generator,
     [NotNull] IOptionsSnapshot <ProcessorOptions> options,
     [NotNull] IConnectionStringAccessor connectionStringAccessor,
     [NotNull] IServiceProvider serviceProvider)
     : base(new[] { ProcessorId.SqlServer2008, ProcessorId.SqlServer }, generator, quoter, logger, options, connectionStringAccessor, serviceProvider)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="SqlServer2008Processor"/> class.
 /// </summary>
 /// <param name="logger">The logger.</param>
 /// <param name="quoter">The quoter.</param>
 /// <param name="generator">The migration generator.</param>
 /// <param name="options">The processor options.</param>
 /// <param name="connectionStringAccessor">The connection string accessor.</param>
 /// <param name="batchParserFactory"></param>
 public SqlServer2008Processor(
     [NotNull] ILogger <SqlServer2008Processor> logger,
     [NotNull] SqlServer2008Quoter quoter,
     [NotNull] SqlServer2008Generator generator,
     [NotNull] IOptionsSnapshot <ProcessorOptions> options,
     [NotNull] IConnectionStringAccessor connectionStringAccessor,
     [NotNull] SqlServerBatchParserFactory batchParserFactory)
     : base(new[] { "SqlServer2008", "SqlServer" }, SqlClientFactory.Instance, generator, quoter, logger, options, connectionStringAccessor, batchParserFactory)
 {
 }
        public IMigrationProcessor CreateMigrationProcessor(RunnerContext context, IDbConnection connection)
        {
            var isClose = connection.State != ConnectionState.Open;

            try
            {
                if (isClose)
                {
                    connection.Open();
                }

                IMigrationGenerator migrationGenerator;
                using (var command = new SqlCommand("SELECT CAST(LEFT(CAST(SERVERPROPERTY('productversion') AS varchar(50)),CHARINDEX('.',CAST(SERVERPROPERTY('productversion') AS varchar(50)))-1)AS int)", connection as SqlConnection))
                {
                    var version = (int)command.ExecuteScalar();
                    switch (version)
                    {
                    case 9:
                        migrationGenerator = new SqlServer2005Generator();
                        break;

                    case 10:
                        migrationGenerator = new SqlServer2008Generator();
                        break;

                    default:
                        migrationGenerator = new SqlServer2012Generator();
                        //                            throw new Exception(string.Format("无法识别的数据库版本:{0}。", version));
                        break;
                    }
                }

                return(new SqlServerProcessor(
                           connection
                           , migrationGenerator
                           , context.Announcer,
                           new ProcessorOptions
                {
                    PreviewOnly = context.PreviewOnly,
                    ProviderSwitches = context.ProviderSwitches,
                    Timeout = context.Timeout
                }
                           , new SqlServerDbFactory()));
            }
            finally
            {
                if (!isClose)
                {
                    connection.Close();
                }
            }
        }
Esempio n. 5
0
        protected static void ExecuteWithSqlServer2008(Action <IMigrationProcessor> test, bool tryRollback)
        {
            var serverOptions = IntegrationTestOptions.SqlServer2008;

            if (!serverOptions.IsEnabled)
            {
                return;
            }

            var announcer = new TextWriterAnnouncer(System.Console.Out);

            announcer.Heading("Testing Migration against MS SQL Server 2008");
            var generator = new SqlServer2008Generator();

            ExecuteWithSqlServer(serverOptions, announcer, generator, test, tryRollback);
        }
 public void SetUp()
 {
     generator = new SqlServer2008Generator();
 }
Esempio n. 7
0
 public void Setup()
 {
     Generator = new SqlServer2008Generator();
 }