Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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;
        }