Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'internal/praefect/datastore/migrations/20200224220728_job_queue.go')
-rw-r--r--internal/praefect/datastore/migrations/20200224220728_job_queue.go46
1 files changed, 46 insertions, 0 deletions
diff --git a/internal/praefect/datastore/migrations/20200224220728_job_queue.go b/internal/praefect/datastore/migrations/20200224220728_job_queue.go
new file mode 100644
index 000000000..e63116354
--- /dev/null
+++ b/internal/praefect/datastore/migrations/20200224220728_job_queue.go
@@ -0,0 +1,46 @@
+package migrations
+
+import migrate "github.com/rubenv/sql-migrate"
+
+func init() {
+ m := &migrate.Migration{
+ Id: "20200224220728_job_queue",
+ Up: []string{`
+CREATE TYPE GITALY_REPLICATION_JOB_STATE AS ENUM('ready', 'in_progress', 'completed', 'cancelled', 'failed')
+`, `
+CREATE TABLE gitaly_replication_queue_lock
+(
+ id TEXT PRIMARY KEY
+ , acquired BOOLEAN NOT NULL DEFAULT FALSE
+)
+`, `
+CREATE TABLE gitaly_replication_queue
+(
+ id BIGSERIAL PRIMARY KEY
+ , state GITALY_REPLICATION_JOB_STATE NOT NULL DEFAULT 'ready'
+ , created_at TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT (NOW() AT TIME ZONE 'UTC')
+ , updated_at TIMESTAMP WITHOUT TIME ZONE
+ , attempt INTEGER NOT NULL DEFAULT 3
+ , lock_id TEXT
+ , job JSONB
+)`, `
+CREATE TABLE gitaly_replication_queue_job_lock
+(
+ job_id BIGINT REFERENCES gitaly_replication_queue(id)
+ , lock_id TEXT REFERENCES gitaly_replication_queue_lock(id)
+ , triggered_at TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT (NOW() AT TIME ZONE 'UTC')
+ , CONSTRAINT gitaly_replication_queue_job_lock_pk PRIMARY KEY (job_id, lock_id)
+)`,
+ },
+ Down: []string{`
+DROP TABLE IF EXISTS gitaly_replication_queue_job_lock CASCADE
+`, `
+DROP TABLE IF EXISTS gitaly_replication_queue CASCADE
+`, `
+DROP TABLE IF EXISTS gitaly_replication_queue_lock CASCADE
+`,
+ },
+ }
+
+ allMigrations = append(allMigrations, m)
+}