http://www.mediawiki.org/wiki/Special:Code/MediaWiki/97439
Revision: 97439
Author: demon
Date: 2011-09-18 21:02:32 +0000 (Sun, 18 Sep 2011)
Log Message:
-----------
Initial schema work. Based on the original registration.sql with some
normalization love. Still needs work
Added Paths:
-----------
trunk/extensions/Wikimania/sql/tables.sql
Added: trunk/extensions/Wikimania/sql/tables.sql
===================================================================
--- trunk/extensions/Wikimania/sql/tables.sql (rev 0)
+++ trunk/extensions/Wikimania/sql/tables.sql 2011-09-18 21:02:32 UTC (rev
97439)
@@ -0,0 +1,75 @@
+-- Schema for Wikimania extension
+-- TODO/FIXME: Get rid of the icky icky enums and sets.
+
+-- Primary registration table
+CREATE TABLE /*_*/registration (
+ -- Unique row id, for sorting and such
+ reg_id unsigned int not null primary key auto_increment,
+
+ -- A unique registration identifier, probably something md5()'d
+ reg_code varchar(255) not null,
+
+ -- Timestamp registration was submitted
+ reg_timestamp varbinary(16),
+
+ -- Current status of the registration, see
WikimaniaRegistration::getPossibleStatuses()
+ reg_status varchar(12) not null,
+
+ reg_fname varchar(255) not null,
+ reg_lname varchar(255) not null,
+ reg_sex varchar(1) not null,
+ reg_country varchar(4) not null,
+ reg_langn varchar(4) not null,
+ reg_lang1 varchar(4),
+ reg_lang1_level enum('1','2','3','4'),
+ reg_lang2 varchar(4),
+ reg_lang2_level enum('1','2','3','4'),
+ reg_lang2 varchar(4),
+ reg_lang2_level enum('1','2','3','4'),
+ reg_wiki_id varchar(255) not null,
+ reg_wiki_language varchar(12) not null,
+ reg_wiki_project varchar(12) not null,
+ reg_email varchar(255) not null,
+ reg_showname set('1','2','3') not null,
+ reg_custom_showname varchar(255),
+ reg_shirt_size enum('XXS','XS','S','M','L','XL','XXL','XXXL') not null,
+ reg_shirt_color enum('W','B') not null,
+ reg_food_preference enum('','1','2','3') not null,
+ reg_food_other varchar(255),
+ reg_visa_assistance tinyint(1) not null,
+ reg_nationality varchar(4),
+ reg_passport varchar(30),
+ reg_passport_valid varbinary(16),
+ reg_passport_issued varchar(255),
+ reg_birthday varbinary(16),
+ reg_countryofbirth varchar(4),
+ reg_homeaddress blob,
+ reg_visa_description blob,
+ reg_discount_code varchar(16),
+ reg_attendance_cost decimal(10,2) not null,
+ reg_accommodation_cost decimal(10,2) not null,
+ reg_vat_cost decimal(10,2) not null,
+ reg_cost_total decimal(10,2) not null,
+ reg_currency varchar(4) not null,
+ reg_paypal tinyint(1) not null,
+ reg_cost_paid decimal(10,2) not null
+) /**$wgDBTableOptions*/;
+CREATE UNIQUE INDEX /*i*/reg_code ON /*_*/registrations (reg_code);
+
+-- Table to handle date(s) people register for
+CREATE TABLE registration_dates (
+ rd_id unsigned int not null primary key auto_increment,
+ rd_reg_id unsigned int not null,
+ rd_date varbinary(16) not null
+) /**$wgDBTableOptions*/;
+
+-- Table to handle hotel reservations
+CREATE TABLE /*_*/registration_hotels (
+ rh_id unsigned int not null primary key auto_increment,
+ rh_reg_id unsigned int not null,
+ rh_hotel varchar(255) not null,
+ rh_date varbinary(16) not null,
+ rh_occupancy int(1) not null,
+ rh_partner varchar(255),
+ rh_notes blob
+) /**$wgDBTableOptions*/;
Property changes on: trunk/extensions/Wikimania/sql/tables.sql
___________________________________________________________________
Added: svn:eol-style
+ native
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs