]> git.sesse.net Git - pr0n/blobdiff - sql/upgrade-v2.50.sql
Remember to do the width/height -1 => NULL change in the actual original schema
[pr0n] / sql / upgrade-v2.50.sql
index 51bd75753bfceb82212434f4483d2956bff13508..d59ee9e13497a838033cb34e1cb4236d1d1b3aaa 100644 (file)
@@ -7,3 +7,27 @@ ALTER TABLE exif_info RENAME COLUMN tag TO key;
 CREATE INDEX exif_info_key ON exif_info ( key );
 CLUSTER exif_info_key ON exif_info;
 
+CREATE TABLE tags (
+    image integer NOT NULL REFERENCES images (id) ON DELETE CASCADE,
+    tag varchar NOT NULL,
+
+    PRIMARY KEY ( image, tag )
+);
+CREATE INDEX tags_tag ON tags ( tag );
+
+GRANT SELECT,INSERT,DELETE ON TABLE tags TO pr0n;
+
+-- width/height -1 => NULL
+ALTER TABLE images ALTER COLUMN width DROP NOT NULL;
+ALTER TABLE images ALTER COLUMN height DROP NOT NULL;
+ALTER TABLE images ALTER COLUMN width SET DEFAULT NULL;
+ALTER TABLE images ALTER COLUMN height SET DEFAULT NULL;
+UPDATE images SET width=NULL,height=NULL WHERE width=-1 OR height=-1;
+ALTER TABLE images ADD CONSTRAINT width_height_nullity CHECK ((width IS NULL) = (height IS NULL));
+
+ALTER TABLE deleted_images ALTER COLUMN width DROP NOT NULL;
+ALTER TABLE deleted_images ALTER COLUMN height DROP NOT NULL;
+ALTER TABLE deleted_images ALTER COLUMN width SET DEFAULT NULL;
+ALTER TABLE deleted_images ALTER COLUMN height SET DEFAULT NULL;
+UPDATE deleted_images SET width=NULL,height=NULL WHERE width=-1 OR height=-1;
+ALTER TABLE deleted_images ADD CONSTRAINT width_height_nullity CHECK ((width IS NULL) = (height IS NULL));