public static void EnsureTablesExist() { if (TablesCreated) { return; ; } if (heldConnection.State != ConnectionState.Open) { heldConnection.Open(); } using (var db = new SQLiteConnection(connString)) { db.Open(); using (var cmd = db.CreateCommand()) { cmd.CommandText = string.Format(@"DROP TABLE IF EXISTS {0}; ", SqlDbJobQueueDefaultTableConfiguration.DefaultQueueTableName); cmd.ExecuteNonQuery(); } using (var cmd = db.CreateCommand()) { cmd.CommandText = string.Format(@"DROP TABLE IF EXISTS {0}; ", SqlDbJobQueueDefaultTableConfiguration.DefaultQueueParamTableName); cmd.ExecuteNonQuery(); } using (var cmd = db.CreateCommand()) { cmd.CommandText = string.Format(@"DROP TABLE IF EXISTS {0}; ", SqlDbJobQueueDefaultTableConfiguration.DefaultJobMethodGenericParamTableName); } using (var cmd = db.CreateCommand()) { cmd.CommandText = SQLiteDbJobTableHelper.JobQueueParamTableCreateScript( new SqlDbJobQueueDefaultTableConfiguration()); cmd.ExecuteNonQuery(); } using (var cmd = db.CreateCommand()) { cmd.CommandText = SQLiteDbJobTableHelper.JobTableCreateScript( new SqlDbJobQueueDefaultTableConfiguration()); cmd.ExecuteNonQuery(); } using (var cmd = db.CreateCommand()) { cmd.CommandText = SQLiteDbJobTableHelper.JobQueueJobMethodGenericParamTableCreateScript( new SqlDbJobQueueDefaultTableConfiguration()); cmd.ExecuteNonQuery(); } } TablesCreated = true; }
public static void EnsureTablesExist(IEnumerable <ISqlDbJobQueueTableConfiguration> configs) { if (TablesCreated) { return; ; } if (heldConnection.State != ConnectionState.Open) { heldConnection.Open(); } foreach (var tableConfiguration in configs) { using (var db = new SQLiteConnection(connString)) { db.Open(); using (var cmd = db.CreateCommand()) { cmd.CommandText = string.Format(@"DROP TABLE IF EXISTS {0}; ", tableConfiguration.QueueTableName); cmd.ExecuteNonQuery(); } using (var cmd = db.CreateCommand()) { cmd.CommandText = string.Format(@"DROP TABLE IF EXISTS {0}; ", tableConfiguration.ParamTableName); cmd.ExecuteNonQuery(); } using (var cmd = db.CreateCommand()) { cmd.CommandText = string.Format(@"DROP TABLE IF EXISTS {0}; ", tableConfiguration.JobMethodGenericParamTableName); } using (var cmd = db.CreateCommand()) { cmd.CommandText = SQLiteDbJobTableHelper.JobQueueParamTableCreateScript( tableConfiguration); cmd.ExecuteNonQuery(); } using (var cmd = db.CreateCommand()) { cmd.CommandText = SQLiteDbJobTableHelper.JobTableCreateScript( tableConfiguration); cmd.ExecuteNonQuery(); } using (var cmd = db.CreateCommand()) { cmd.CommandText = SQLiteDbJobTableHelper.JobQueueJobMethodGenericParamTableCreateScript( tableConfiguration); cmd.ExecuteNonQuery(); } using (var cmd = db.CreateCommand()) { cmd.CommandText = SQLiteDbJobTableHelper.SuggestedIndexes(tableConfiguration); cmd.ExecuteNonQuery(); } } } TablesCreated = true; }