diff --git a/browserid/lib/db_mysql.js b/browserid/lib/db_mysql.js index 06bd219bf904cd91e58c2398abb282bc108de24c..c3645a44b846e849588d851917e7ddece2211ed7 100644 --- a/browserid/lib/db_mysql.js +++ b/browserid/lib/db_mysql.js @@ -49,6 +49,7 @@ * * * +------ staged ----------+ + * |*int id | * |*string secret | * | bool new_acct | * | string existing | @@ -67,10 +68,28 @@ var client = undefined; // may get defined at open() time causing a database to be dropped upon connection closing. var drop_on_close = undefined; +// If you change these schemas, please notify <services-ops@mozilla.com> const schemas = [ - "CREATE TABLE IF NOT EXISTS user ( id INTEGER AUTO_INCREMENT PRIMARY KEY, passwd VARCHAR(64) );", - "CREATE TABLE IF NOT EXISTS email ( id INTEGER AUTO_INCREMENT PRIMARY KEY, user INTEGER, INDEX(user), address VARCHAR(255) UNIQUE, INDEX(address) );", - "CREATE TABLE IF NOT EXISTS staged ( secret VARCHAR(48) PRIMARY KEY, new_acct BOOL, existing VARCHAR(255), email VARCHAR(255) UNIQUE, INDEX(email), ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP);" + "CREATE TABLE IF NOT EXISTS user (" + + "id BIGINT AUTO_INCREMENT PRIMARY KEY," + + "passwd CHAR(64) NOT NULL" + + ") ENGINE=InnoDB;", + + "CREATE TABLE IF NOT EXISTS email (" + + "id BIGINT AUTO_INCREMENT PRIMARY KEY," + + "user BIGINT NOT NULL," + + "address VARCHAR(255) UNIQUE NOT NULL," + + "FOREIGN KEY user_fkey (user) REFERENCES user(id)" + + ") ENGINE=InnoDB;", + + "CREATE TABLE IF NOT EXISTS staged (" + + "id BIGINT AUTO_INCREMENT PRIMARY KEY," + + "secret CHAR(48) UNIQUE NOT NULL," + + "new_acct BOOL NOT NULL," + + "existing VARCHAR(255)," + + "email VARCHAR(255) UNIQUE NOT NULL," + + "ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL" + + ") ENGINE=InnoDB;", ]; // log an unexpected database error