Changeset 111

Show
Ignore:
Timestamp:
2007-12-21 21:21:13 (1 year ago)
Author:
hannes
Message:

MySQL insists on character set of column being listed in front of other constraints...

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/db/mysql.sql

    r109 r111  
    11CREATE TABLE %prefix%categories ( 
    22  category_id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, 
    3   category_name VARCHAR(255) NOT NULL CHARACTER SET utf8 COLLATE utf8_general_ci
     3  category_name VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
    44  category_order INTEGER NOT NULL 
    5 ) CHARACTER SET utf8 COLLATE utf8_general_ci; 
     5) CHARACTER SET utf8 COLLATE utf8_unicode_ci; 
    66 
    77CREATE TABLE %prefix%forums ( 
    88  forumid INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, 
    9   forumtitle VARCHAR(255) NOT NULL CHARACTER SET utf8 COLLATE utf8_general_ci
    10   forumdescription VARCHAR(255) NOT NULL CHARACTER SET utf8 COLLATE utf8_general_ci
     9  forumtitle VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
     10  forumdescription VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
    1111  forum_category INTEGER  NOT NULL, 
    1212  forum_order INTEGER  NOT NULL 
    13 ) CHARACTER SET utf8 COLLATE utf8_general_ci; 
     13) CHARACTER SET utf8 COLLATE utf8_unicode_ci; 
    1414 
    1515CREATE TABLE %prefix%messages ( 
     
    1717  messagesender INTEGER NOT NULL, 
    1818  messagereceipient INTEGER NOT NULL, 
    19   messagetitle VARCHAR(255) NOT NULL CHARACTER SET utf8 COLLATE utf8_general_ci
    20   message TEXT NOT NULL CHARACTER SET utf8 COLLATE utf8_general_ci
     19  messagetitle VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
     20  message TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
    2121  messagesenderflag INTEGER NOT NULL, 
    2222  messagereceipientflag INTEGER NOT NULL, 
    2323  messagetime DATETIME NOT NULL 
    24 ) CHARACTER SET utf8 COLLATE utf8_general_ci; 
     24) CHARACTER SET utf8 COLLATE utf8_unicode_ci; 
    2525 
    2626CREATE TABLE %prefix%online ( 
    2727  onlinememberid INTEGER NOT NULL, 
    2828  onlinetime INTEGER NOT NULL, 
    29   onlinesession VARCHAR(255) NOT NULL CHARACTER SET utf8 COLLATE utf8_bin
     29  onlinesession VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
    3030  onlineposted INTEGER NOT NULL DEFAULT 0 
    31 ) CHARACTER SET utf8 COLLATE utf8_general_ci; 
     31) CHARACTER SET utf8 COLLATE utf8_unicode_ci; 
    3232 
    3333CREATE TABLE %prefix%polls ( 
    3434  pollid INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, 
    35   pollchoices TEXT NOT NULL CHARACTER SET utf8 COLLATE utf8_general_ci
    36   pollvotes TEXT NOT NULL CHARACTER SET utf8 COLLATE utf8_general_ci
    37   pollvoters TEXT NOT NULL CHARACTER SET utf8 COLLATE utf8_general_ci 
    38 ) CHARACTER SET utf8 COLLATE utf8_general_ci; 
     35  pollchoices TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
     36  pollvotes TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
     37  pollvoters TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL 
     38) CHARACTER SET utf8 COLLATE utf8_unicode_ci; 
    3939 
    4040CREATE TABLE %prefix%posts ( 
    4141  postid INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, 
    4242  topic INTEGER NOT NULL, 
    43   posteremail VARCHAR(255) NOT NULL CHARACTER SET utf8 COLLATE utf8_general_ci
    44   poster VARCHAR(255) NOT NULL CHARACTER SET utf8 COLLATE utf8_general_ci
    45   post TEXT NOT NULL CHARACTER SET utf8 COLLATE utf8_general_ci
    46   ip VARCHAR(16) NOT NULL CHARACTER SET utf8 COLLATE utf8_bin
    47   attachment VARCHAR(255) NOT NULL CHARACTER SET utf8 COLLATE utf8_bin
     43  posteremail VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
     44  poster VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
     45  post TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
     46  ip VARCHAR(16) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
     47  attachment VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
    4848  postedbymember INTEGER NOT NULL, 
    4949  edited DATETIME DEFAULT NULL, 
    50   editedby VARCHAR(255) DEFAULT NULL CHARACTER SET utf8 COLLATE utf8_bin
     50  editedby VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL
    5151  posttime DATETIME NOT NULL 
    52 ) CHARACTER SET utf8 COLLATE utf8_general_ci; 
     52) CHARACTER SET utf8 COLLATE utf8_unicode_ci; 
    5353 
    5454CREATE TABLE %prefix%topics ( 
    5555  topicid INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, 
    5656  forum INTEGER NOT NULL, 
    57   topictitle VARCHAR(255) NOT NULL CHARACTER SET utf8 COLLATE utf8_general_ci
     57  topictitle VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
    5858  closed INTEGER NOT NULL DEFAULT 0, 
    5959  pinned INTEGER NOT NULL DEFAULT 0, 
    6060  poll INTEGER NOT NULL DEFAULT 0, 
    6161  topic_views INTEGER NOT NULL DEFAULT 0 
    62 ) CHARACTER SET utf8 COLLATE utf8_general_ci; 
     62) CHARACTER SET utf8 COLLATE utf8_unicode_ci; 
    6363 
    6464CREATE TABLE %prefix%groupmemberships ( 
    65     member INTEGER
    66     usergroup INTEGER 
    67 ) CHARACTER SET utf8 COLLATE utf8_general_ci; 
     65    member INTEGER NOT NULL
     66    usergroup INTEGER NOT NULL 
     67) CHARACTER SET utf8 COLLATE utf8_unicode_ci; 
    6868 
    6969CREATE TABLE %prefix%usergroups ( 
    7070  id INTEGER PRIMARY KEY AUTO_INCREMENT, 
    71   name VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci
    72   public INTEGER 
    73 ) CHARACTER SET utf8 COLLATE utf8_general_ci; 
     71  name VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
     72  public INTEGER NOT NULL DEFAULT 0 
     73) CHARACTER SET utf8 COLLATE utf8_unicode_ci; 
    7474 
    7575CREATE TABLE %prefix%members ( 
    7676  memberid INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, 
    77   membername VARCHAR(255) NOT NULL CHARACTER SET utf8 COLLATE utf8_general_ci
    78   memberemail VARCHAR(255) NOT NULL CHARACTER SET utf8 COLLATE utf8_general_ci
     77  membername VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
     78  memberemail VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
    7979  memberemailhidden INTEGER NOT NULL DEFAULT 0, 
    80   memberhomepage VARCHAR(255) NULL CHARACTER SET utf8 COLLATE utf8_general_ci
    81   memberavatar VARCHAR(255) NOT NULL DEFAULT 'images/spacer.gif' CHARACTER SET utf8 COLLATE utf8_general_ci
    82   memberpassword VARCHAR(255) NOT NULL CHARACTER SET utf8 COLLATE utf8_bin
    83   memberstatus VARCHAR(255) NOT NULL CHARACTER SET utf8 COLLATE utf8_bin
     80  memberhomepage VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL
     81  memberavatar VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT 'images/spacer.gif'
     82  memberpassword VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
     83  memberstatus VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
    8484  memberposts INTEGER NOT NULL DEFAULT 0, 
    85   location VARCHAR(255) NULL CHARACTER SET utf8 COLLATE utf8_general_ci
    86   icq VARCHAR(255) NULL CHARACTER SET utf8 COLLATE utf8_general_ci
    87   aim VARCHAR(255) NULL CHARACTER SET utf8 COLLATE utf8_general_ci
    88   yahoo VARCHAR(255) NULL CHARACTER SET utf8 COLLATE utf8_general_ci
    89   msn VARCHAR(255) NULL CHARACTER SET utf8 COLLATE utf8_general_ci
    90   signature VARCHAR(255) NULL CHARACTER SET utf8 COLLATE utf8_general_ci
     85  location VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL
     86  icq VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL
     87  aim VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL
     88  yahoo VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL
     89  msn VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL
     90  signature VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL
    9191  lastvisit DATETIME NULL, 
    92   boardstyle VARCHAR(32) NULL CHARACTER SET utf8 COLLATE utf8_general_ci
    93   addressbook TEXT NULL CHARACTER SET utf8 COLLATE utf8_general_ci
    94   birthday DATE DEFAULT NULL CHARACTER SET utf8 COLLATE utf8_general_ci
     92  boardstyle VARCHAR(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL
     93  addressbook TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL
     94  birthday DATE DEFAULT NULL
    9595  messagenotification_email INTEGER NOT NULL DEFAULT 0, 
    9696  messagenotification_popup INTEGER NOT NULL DEFAULT 1, 
    9797  registered DATETIME NOT NULL, 
    98   salt VARCHAR(16) NULL CHARACTER SET utf8 COLLATE utf8_bin
    99   lang VARCHAR(16) NULL CHARACTER SET utf8 COLLATE utf8_bin
     98  salt VARCHAR(16) CHARACTER SET utf8 COLLATE utf8_bin NULL
     99  lang VARCHAR(16) CHARACTER SET utf8 COLLATE utf8_bin NULL
    100100  offset INTEGER NULL 
    101 ) CHARACTER SET utf8 COLLATE utf8_general_ci; 
     101) CHARACTER SET utf8 COLLATE utf8_unicode_ci; 
    102102 
    103103CREATE TABLE %prefix%mails ( 
    104104  id INTEGER NOT NULL PRIMARY KEY, 
    105   receipient VARCHAR(255) NOT NULL CHARACTER SET utf8 COLLATE utf8_general_ci
    106   subject VARCHAR(255) NOT NULL CHARACTER SET utf8 COLLATE utf8_general_ci
    107   body TEXT NOT NULL CHARACTER SET utf8 COLLATE utf8_general_ci 
    108 ) CHARACTER SET utf8 COLLATE utf8_general_ci; 
     105  receipient VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
     106  subject VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
     107  body TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL 
     108) CHARACTER SET utf8 COLLATE utf8_unicode_ci; 
    109109 
    110110CREATE TABLE %prefix%moderators ( 
    111111    forum INTEGER NOT NULL, 
    112112    member INTEGER NOT NULL 
    113 ) CHARACTER SET utf8 COLLATE utf8_general_ci; 
     113) CHARACTER SET utf8 COLLATE utf8_unicode_ci; 
    114114 
    115115CREATE TABLE %prefix%subscriptions ( 
    116116    topic INTEGER NOT NULL, 
    117117    member INTEGER NOT NULL 
    118 ) CHARACTER SET utf8 COLLATE utf8_general_ci; 
     118) CHARACTER SET utf8 COLLATE utf8_unicode_ci; 
    119119 
    120120CREATE TABLE %prefix%rights ( 
    121     page VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin
    122     usergroup INTEGER
    123     r INTEGER
    124     w INTEGER
     121    page VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
     122    usergroup INTEGER NOT NULL
     123    r INTEGER NOT NULL
     124    w INTEGER NOT NULL
    125125    PRIMARY KEY (page,usergroup) 
    126 ) CHARACTER SET utf8 COLLATE utf8_general_ci; 
     126) CHARACTER SET utf8 COLLATE utf8_unicode_ci; 
    127127 
    128128CREATE TABLE %prefix%rights_default ( 
    129     page VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin
    130     usergroup INTEGER
    131     r INTEGER
    132     w INTEGER
     129    page VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
     130    usergroup INTEGER NOT NULL
     131    r INTEGER NOT NULL
     132    w INTEGER NOT NULL
    133133    PRIMARY KEY (page,usergroup) 
    134 ) CHARACTER SET utf8 COLLATE utf8_general_ci; 
     134) CHARACTER SET utf8 COLLATE utf8_unicode_ci; 
    135135 
    136136CREATE INDEX idx_forums ON %prefix%forums (forum_category ASC); 
  • trunk/db/sqlite.sql

    r109 r111  
    6363 
    6464CREATE TABLE %prefix%groupmemberships ( 
    65     member INTEGER
    66     usergroup INTEGER 
     65    member INTEGER NOT NULL
     66    usergroup INTEGER NOT NULL 
    6767); 
    6868 
    6969CREATE TABLE %prefix%usergroups ( 
    7070  id INTEGER PRIMARY KEY AUTOINCREMENT, 
    71   name VARCHAR(255) COLLATE NOCASE, 
    72   public INTEGER 
     71  name VARCHAR(255) NOT NULL COLLATE NOCASE, 
     72  public INTEGER NOT NULL DEFAULT 0 
    7373); 
    7474 
     
    119119 
    120120CREATE TABLE %prefix%rights ( 
    121     page VARCHAR(255) COLLATE BINARY
    122     usergroup INTEGER
    123     r INTEGER
    124     w INTEGER
     121    page VARCHAR(255) COLLATE BINARY NOT NULL
     122    usergroup INTEGER NOT NULL
     123    r INTEGER NOT NULL
     124    w INTEGER NOT NULL
    125125    PRIMARY KEY (page,usergroup) 
    126126); 
    127127 
    128128CREATE TABLE %prefix%rights_default ( 
    129     page VARCHAR(255) COLLATE BINARY
    130     usergroup INTEGER
    131     r INTEGER
    132     w INTEGER
     129    page VARCHAR(255) COLLATE BINARY NOT NULL
     130    usergroup INTEGER NOT NULL
     131    r INTEGER NOT NULL
     132    w INTEGER NOT NULL
    133133    PRIMARY KEY (page,usergroup) 
    134134);