summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2019-10-03 14:49:07 +0200
committerYorhel <git@yorhel.nl>2019-10-03 14:49:18 +0200
commit89483d60d5df8346473a50734df4825210c70d3b (patch)
tree7c6c2f18735eb83561992053d8f2d9c35dfdea16 /util
parentdbade31a5b581d7534bae94404ce5b120034bde9 (diff)
Fix spoilers preference to be a smallint rather than boolean
And for those who (like me) already applied update_20191003.sql, here's a partial fix: alter table users alter column spoilers drop default; alter table users alter column spoilers type smallint using (case when spoilers then 1 else 0 end); alter table users alter column spoilers set default 0; But you'll still need to import the old preference for users who had spoilers=2, because those will have been lost.
Diffstat (limited to 'util')
-rw-r--r--util/sql/schema.sql2
-rw-r--r--util/updates/update_20191003.sql4
2 files changed, 3 insertions, 3 deletions
diff --git a/util/sql/schema.sql b/util/sql/schema.sql
index fa18937f..aa64289a 100644
--- a/util/sql/schema.sql
+++ b/util/sql/schema.sql
@@ -734,7 +734,7 @@ CREATE TABLE users (
tags_cont boolean NOT NULL DEFAULT TRUE,
tags_ero boolean NOT NULL DEFAULT FALSE,
tags_tech boolean NOT NULL DEFAULT TRUE,
- spoilers boolean NOT NULL DEFAULT FALSE,
+ spoilers smallint NOT NULL DEFAULT 0,
traits_sexual boolean NOT NULL DEFAULT FALSE
);
diff --git a/util/updates/update_20191003.sql b/util/updates/update_20191003.sql
index ee17363c..28e0ddf3 100644
--- a/util/updates/update_20191003.sql
+++ b/util/updates/update_20191003.sql
@@ -12,7 +12,7 @@ ALTER TABLE users ADD COLUMN tags_all boolean NOT NULL DEFAULT FALSE;
ALTER TABLE users ADD COLUMN tags_cont boolean NOT NULL DEFAULT TRUE;
ALTER TABLE users ADD COLUMN tags_ero boolean NOT NULL DEFAULT FALSE;
ALTER TABLE users ADD COLUMN tags_tech boolean NOT NULL DEFAULT TRUE;
-ALTER TABLE users ADD COLUMN spoilers boolean NOT NULL DEFAULT FALSE;
+ALTER TABLE users ADD COLUMN spoilers smallint NOT NULL DEFAULT 0;
ALTER TABLE users ADD COLUMN traits_sexual boolean NOT NULL DEFAULT FALSE;
UPDATE users SET
@@ -27,7 +27,7 @@ UPDATE users SET
vn_list_own = COALESCE((SELECT TRUE FROM users_prefs WHERE uid = id AND key = 'vn_list_own' ), FALSE),
vn_list_wish = COALESCE((SELECT TRUE FROM users_prefs WHERE uid = id AND key = 'vn_list_wish' ), FALSE),
tags_all = COALESCE((SELECT TRUE FROM users_prefs WHERE uid = id AND key = 'tags_all' ), FALSE),
- spoilers = COALESCE((SELECT TRUE FROM users_prefs WHERE uid = id AND key = 'spoilers' ), FALSE),
+ spoilers = COALESCE((SELECT value::smallint FROM users_prefs WHERE uid = id AND key = 'spoilers'), 0),
traits_sexual = COALESCE((SELECT TRUE FROM users_prefs WHERE uid = id AND key = 'traits_sexual' ), FALSE),
tags_cont = COALESCE((SELECT value LIKE '%cont%' FROM users_prefs WHERE uid = id AND key = 'tags_cat'), TRUE),
tags_ero = COALESCE((SELECT value LIKE '%ero%' FROM users_prefs WHERE uid = id AND key = 'tags_cat'), FALSE),