]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - maintenance/archives/patch-user_properties.sql
MediaWiki 1.16.0
[autoinstallsdev/mediawiki.git] / maintenance / archives / patch-user_properties.sql
diff --git a/maintenance/archives/patch-user_properties.sql b/maintenance/archives/patch-user_properties.sql
new file mode 100644 (file)
index 0000000..e30e00d
--- /dev/null
@@ -0,0 +1,22 @@
+--
+-- User preferences and perhaps other fun stuff. :)
+-- Replaces the old user.user_options blob, with a couple nice properties:
+--
+-- 1) We only store non-default settings, so changes to the defauls
+--    are now reflected for everybody, not just new accounts.
+-- 2) We can more easily do bulk lookups, statistics, or modifications of
+--    saved options since it's a sane table structure.
+--
+CREATE TABLE /*_*/user_properties(
+  -- Foreign key to user.user_id
+  up_user int not null,
+  
+  -- Name of the option being saved. This is indexed for bulk lookup.
+  up_property varbinary(32) not null,
+  
+  -- Property value as a string.
+  up_value blob
+) /*$wgDBTableOptions*/;
+
+CREATE UNIQUE INDEX /*i*/user_properties_user_property on /*_*/user_properties (up_user,up_property);
+CREATE INDEX /*i*/user_properties_property on /*_*/user_properties (up_property);