public SqlServer2008Processor(ILogger logger, SqlServer2008Generator generator, ProcessorOptions options) : base(new[] { "SqlServer2008", "SqlServer" }, generator, logger, options) { }
/// <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(); } } }
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(); }
public void Setup() { Generator = new SqlServer2008Generator(); }