function i18n_install in Internationalization 5.3
Same name and namespace in other branches
- 5 i18n.install \i18n_install()
- 5.2 i18n.install \i18n_install()
- 6 i18n.install \i18n_install()
- 7 i18n.install \i18n_install()
Set language field in its own table Do not drop node.language now, just in case TO-DO: Drop old tables, fields
File
- ./
i18n.install, line 7
Code
function i18n_install() {
switch ($GLOBALS['db_type']) {
case 'mysql':
case 'mysqli':
db_query("CREATE TABLE {i18n_node} (\n nid int(11) unsigned NOT NULL ,\n trid int(10) unsigned NOT NULL default '0',\n language VARCHAR(12) NOT NULL default '', \n status smallint(6) NOT NULL default '0',\n PRIMARY KEY (nid) \n ) /*!40100 DEFAULT CHARACTER SET UTF8 */");
db_query("ALTER TABLE {term_data}\n ADD language varchar(12) NOT NULL default '',\n ADD trid int(10) unsigned NOT NULL default '0'\n ");
db_query("ALTER TABLE {vocabulary}\n ADD language varchar(12) NOT NULL default ''\n ");
db_query("CREATE TABLE {i18n_variable} (\n name varchar(48) NOT NULL default '',\n language varchar(12) NOT NULL default '',\n value longtext NOT NULL,\n PRIMARY KEY (name, language)\n ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
db_query("ALTER TABLE {menu} \n ADD language VARCHAR(12) NOT NULL default ''\n ");
break;
case 'pgsql':
db_query("CREATE TABLE {i18n_node} (\n nid integer NOT NULL default '0', \n trid integer NOT NULL default '0',\n language varchar(12) NOT NULL default '',\n status smallint NOT NULL default '0',\n PRIMARY KEY (nid)\n )");
db_query("CREATE TABLE {i18n_variable} (\n name varchar(48) NOT NULL default '',\n language varchar(12) NOT NULL default '',\n value text NOT NULL,\n PRIMARY KEY (name, language)\n )");
db_query("ALTER TABLE {term_data} ADD language varchar(12)");
db_query("UPDATE {term_data} SET language=''");
db_query("ALTER TABLE {term_data} ALTER COLUMN language SET NOT NULL");
db_query("ALTER TABLE {term_data} ALTER COLUMN language SET DEFAULT ''");
db_query("ALTER TABLE {term_data} ADD trid integer");
db_query("UPDATE {term_data} SET trid='0'");
db_query("ALTER TABLE {term_data} ALTER COLUMN trid SET NOT NULL");
db_query("ALTER TABLE {term_data} ALTER COLUMN trid SET DEFAULT '0'");
db_query("ALTER TABLE {vocabulary} ADD language varchar(12)");
db_query("UPDATE {vocabulary} SET language=''");
db_query("ALTER TABLE {vocabulary} ALTER COLUMN language SET NOT NULL");
db_query("ALTER TABLE {vocabulary} ALTER COLUMN language SET DEFAULT ''");
db_query("ALTER TABLE {menu} ADD language varchar(12)");
db_query("UPDATE {menu} SET language=''");
db_query("ALTER TABLE {menu} ALTER COLUMN language SET NOT NULL");
db_query("ALTER TABLE {menu} ALTER COLUMN language SET DEFAULT ''");
// Sequences
db_query("CREATE SEQUENCE {i18n_node}_trid_seq INCREMENT 1 START 1");
db_query("CREATE SEQUENCE {term_data}_trid_seq INCREMENT 1 START 1");
}
// Set module weight for it to run after core modules
db_query("UPDATE {system} SET weight = -10 WHERE name = 'i18n' AND type = 'module'");
db_query("UPDATE {system} SET weight = 10 WHERE name = 'translation' AND type = 'module'");
}