Bettern cmap handling. Lots of changes.
This commit is contained in:
+49
-1
@@ -20,7 +20,7 @@
|
||||
;; Supporting functions
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(define current-schema-version 7)
|
||||
(define current-schema-version 9)
|
||||
|
||||
(define schema-1-statements
|
||||
(list
|
||||
@@ -281,6 +281,48 @@ SQL
|
||||
(query-exec db "CREATE INDEX IF NOT EXISTS pages_namespace_idx ON pages(lower(namespace), lower(title), title)")
|
||||
(record-schema-version! db 7))
|
||||
|
||||
(define (migrate-7->8! db)
|
||||
(query-exec db
|
||||
#<<SQL
|
||||
CREATE TABLE IF NOT EXISTS page_aliases (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
namespace TEXT NOT NULL DEFAULT '',
|
||||
slug TEXT NOT NULL,
|
||||
title TEXT NOT NULL,
|
||||
page_id BIGINT NOT NULL REFERENCES pages(id) ON DELETE CASCADE,
|
||||
created_at BIGINT NOT NULL,
|
||||
created_by TEXT NOT NULL,
|
||||
UNIQUE(namespace, slug)
|
||||
)
|
||||
SQL
|
||||
)
|
||||
(query-exec db
|
||||
"CREATE INDEX IF NOT EXISTS page_aliases_page_idx ON page_aliases(page_id, created_at DESC)")
|
||||
(record-schema-version! db 8))
|
||||
|
||||
(define (migrate-8->9! db)
|
||||
(query-exec db
|
||||
#<<SQL
|
||||
CREATE TABLE IF NOT EXISTS concept_maps (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
slug TEXT NOT NULL UNIQUE,
|
||||
title TEXT NOT NULL,
|
||||
document JSONB NOT NULL,
|
||||
current_version BIGINT NOT NULL DEFAULT 1,
|
||||
created_at BIGINT NOT NULL,
|
||||
updated_at BIGINT NOT NULL,
|
||||
created_by TEXT NOT NULL,
|
||||
updated_by TEXT NOT NULL,
|
||||
archived BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
archived_at BIGINT,
|
||||
archived_by TEXT
|
||||
)
|
||||
SQL
|
||||
)
|
||||
(query-exec db
|
||||
"CREATE INDEX IF NOT EXISTS concept_maps_title_idx ON concept_maps(lower(title))")
|
||||
(record-schema-version! db 9))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; goal : Bring a racket-wiki PostgreSQL database to the current schema.
|
||||
; pre : db is a writable PostgreSQL connection and config identifies the
|
||||
@@ -313,6 +355,12 @@ SQL
|
||||
(define after-attachment-references (database-schema-version db))
|
||||
(when (= after-attachment-references 6)
|
||||
(migrate-6->7! db))
|
||||
(define after-namespaces (database-schema-version db))
|
||||
(when (= after-namespaces 7)
|
||||
(migrate-7->8! db))
|
||||
(define after-page-aliases (database-schema-version db))
|
||||
(when (= after-page-aliases 8)
|
||||
(migrate-8->9! db))
|
||||
(define resulting-version (database-schema-version db))
|
||||
(when (> resulting-version current-schema-version)
|
||||
(error 'migrate-database!
|
||||
|
||||
Reference in New Issue
Block a user