summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
Diffstat (limited to 'util')
-rw-r--r--util/sql/all.sql1
-rw-r--r--util/sql/schema.sql2
-rw-r--r--util/updates/update_2.25.sql5
3 files changed, 7 insertions, 1 deletions
diff --git a/util/sql/all.sql b/util/sql/all.sql
index 7c535f7a..833f5890 100644
--- a/util/sql/all.sql
+++ b/util/sql/all.sql
@@ -5,6 +5,7 @@
CREATE TYPE anime_type AS ENUM ('tv', 'ova', 'mov', 'oth', 'web', 'spe', 'mv');
CREATE TYPE blood_type AS ENUM ('unknown', 'a', 'b', 'ab', 'o');
+CREATE TYPE board_type AS ENUM ('an', 'db', 'ge', 'v', 'p', 'u');
CREATE TYPE char_role AS ENUM ('main', 'primary', 'side', 'appears');
CREATE TYPE credit_type AS ENUM ('scenario', 'chardesign', 'art', 'music', 'songs', 'director', 'staff');
CREATE TYPE dbentry_type AS ENUM ('v', 'r', 'p', 'c', 's');
diff --git a/util/sql/schema.sql b/util/sql/schema.sql
index 5c4342e2..8de05fde 100644
--- a/util/sql/schema.sql
+++ b/util/sql/schema.sql
@@ -352,7 +352,7 @@ CREATE TABLE threads_posts (
-- threads_boards
CREATE TABLE threads_boards (
tid integer NOT NULL DEFAULT 0,
- type character(2) NOT NULL DEFAULT 0,
+ type board_type NOT NULL,
iid integer NOT NULL DEFAULT 0,
PRIMARY KEY(tid, type, iid)
);
diff --git a/util/updates/update_2.25.sql b/util/updates/update_2.25.sql
index eb2f2776..8207adc6 100644
--- a/util/updates/update_2.25.sql
+++ b/util/updates/update_2.25.sql
@@ -44,3 +44,8 @@ ALTER TYPE prefs_key ADD VALUE 'tags_cat';
ALTER TYPE prefs_key ADD VALUE 'spoilers';
ALTER TYPE prefs_key ADD VALUE 'traits_sexual';
+
+-- Convert threads_boards.type to enum
+CREATE TYPE board_type AS ENUM ('an', 'db', 'ge', 'v', 'p', 'u');
+ALTER TABLE threads_boards ALTER COLUMN type DROP DEFAULT;
+ALTER TABLE threads_boards ALTER COLUMN type TYPE board_type USING trim(type)::board_type;