mirror of https://github.com/tLDP/LDP
database changes to support i18n in topics
This commit is contained in:
parent
43429f74fb
commit
ce5922e939
|
@ -26,6 +26,8 @@ ALTER TABLE notes ADD CONSTRAINT creator_id_fk FOREIGN KEY (creator_id) REFERE
|
|||
ALTER TABLE string_i18n ADD CONSTRAINT string_code_fk FOREIGN KEY (string_code) REFERENCES string(string_code);
|
||||
ALTER TABLE string_i18n ADD CONSTRAINT string_lang_fk FOREIGN KEY (lang) REFERENCES language(isocode);
|
||||
ALTER TABLE subtopic ADD CONSTRAINT topic_num_fk FOREIGN KEY (topic_num) REFERENCES topic(topic_num);
|
||||
ALTER TABLE topic_i18n ADD CONSTRAINT topic_num_fk FOREIGN KEY (topic_num) REFERENCES topic(topic_num);
|
||||
ALTER TABLE topic_i18n ADD CONSTRAINT lang_fk FOREIGN KEY (lang) REFERENCES language(isocode);
|
||||
ALTER TABLE username_notes ADD CONSTRAINT user_id_fk FOREIGN KEY (user_id) REFERENCES username(user_id);
|
||||
ALTER TABLE username_notes ADD CONSTRAINT creator_id_fk FOREIGN KEY (creator_id) REFERENCES username(user_id);
|
||||
|
||||
|
|
|
@ -3,9 +3,6 @@ DROP TABLE topic;
|
|||
CREATE TABLE topic
|
||||
(
|
||||
topic_num INT4 NOT NULL,
|
||||
topic_name TEXT NOT NULL,
|
||||
topic_description TEXT,
|
||||
|
||||
|
||||
PRIMARY KEY (topic_num)
|
||||
);
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
DROP TABLE topic_i18n;
|
||||
|
||||
CREATE TABLE topic_i18n
|
||||
(
|
||||
topic_num INT4 NOT NULL,
|
||||
lang CHAR(2) NOT NULL
|
||||
topic_name TEXT NOT NULL,
|
||||
topic_description TEXT,
|
||||
|
||||
PRIMARY KEY (topic_num, lang)
|
||||
);
|
|
@ -302,6 +302,13 @@ while (@row = $result->fetchrow) {
|
|||
$conn->exec($sql);
|
||||
}
|
||||
|
||||
# i18n support in topic table
|
||||
#
|
||||
$conn->exec("CREATE TABLE topic_new (topic_num INT4 NOT NULL, PRIMARY KEY (topic_num)");
|
||||
$conn->exec("CREATE TABLE topic_i18n (topic_num INT4 NOT NULL, lang CHAR(2) NOT NULL, topic_name TEXT NOT NULL, topic_description TEXT, PRIMARY KEY(topic_num, lang)");
|
||||
$conn->exec("INSERT INTO topic_new SELECT topic_num FROM topic");
|
||||
$conn->exec("INSERT INTO topic_i18n SELECT topic_num, 'EN' as lang, topic_name, topic_description FROM topic");
|
||||
|
||||
# Drop some fields from the document table
|
||||
# Convert class to class_id
|
||||
#
|
||||
|
@ -409,6 +416,7 @@ $conn->exec("DROP TABLE maintainer");
|
|||
$conn->exec("DROP TABLE maintainer_notes");
|
||||
$conn->exec("DROP TABLE notes");
|
||||
$conn->exec("DROP TABLE role");
|
||||
$conn->exec("DROP TABLE topic");
|
||||
$conn->exec("DROP TABLE username");
|
||||
$conn->exec("DROP TABLE volunteer");
|
||||
$conn->exec("ALTER TABLE class_new RENAME TO class");
|
||||
|
@ -417,30 +425,9 @@ $conn->exec("ALTER TABLE document_wiki_new RENAME TO document_wiki");
|
|||
$conn->exec("ALTER TABLE doc_vote_new RENAME TO doc_vote");
|
||||
$conn->exec("ALTER TABLE notes_new RENAME TO notes");
|
||||
$conn->exec("ALTER TABLE role_new RENAME TO role");
|
||||
$conn->exec("ALTER TABLE topic_new RENAME TO topic");
|
||||
$conn->exec("ALTER TABLE username_new RENAME TO username");
|
||||
|
||||
# Update permissions for the new tables
|
||||
#
|
||||
$conn->exec('GRANT ALL ON class TO "www-data"');
|
||||
$conn->exec('GRANT ALL ON class_i18n TO "www-data"');
|
||||
$conn->exec('GRANT ALL ON document TO "www-data"');
|
||||
$conn->exec('GRANT ALL ON document_error TO "www-data"');
|
||||
$conn->exec('GRANT ALL ON document_user TO "www-data"');
|
||||
$conn->exec('GRANT ALL ON document_wiki TO "www-data"');
|
||||
$conn->exec('GRANT ALL ON document_file TO "www-data"');
|
||||
$conn->exec('GRANT ALL ON doc_vote TO "www-data"');
|
||||
$conn->exec('GRANT ALL ON dtd TO "www-data"');
|
||||
$conn->exec('GRANT ALL ON format TO "www-data"');
|
||||
$conn->exec('GRANT ALL ON license TO "www-data"');
|
||||
$conn->exec('GRANT ALL ON notes TO "www-data"');
|
||||
$conn->exec('GRANT ALL ON pub_status TO "www-data"');
|
||||
$conn->exec('GRANT ALL ON review_status TO "www-data"');
|
||||
$conn->exec('GRANT ALL ON role TO "www-data"');
|
||||
$conn->exec('GRANT ALL ON subtopic TO "www-data"');
|
||||
$conn->exec('GRANT ALL ON topic TO "www-data"');
|
||||
$conn->exec('GRANT ALL ON username TO "www-data"');
|
||||
$conn->exec('GRANT ALL ON username_notes TO "www-data"');
|
||||
|
||||
# Alter the case of the classes
|
||||
#
|
||||
#$conn->exec("UPDATE class_i18n SET class_name='Backgrounder' WHERE class_name='BACKGROUNDER'");
|
||||
|
|
Loading…
Reference in New Issue