From: Stéphane Jacob Date: Thu, 2 Sep 2010 12:45:57 +0000 (+0200) Subject: Adds foreign keys for uid and pid for most tables. X-Git-Tag: xorg/1.0.1~233 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=becfe71d177475717c5625e3f93de009e760446c;p=platal.git Adds foreign keys for uid and pid for most tables. Signed-off-by: Stéphane Jacob --- diff --git a/classes/platallogger.php b/classes/platallogger.php index 3adda91..55d90fe 100644 --- a/classes/platallogger.php +++ b/classes/platallogger.php @@ -55,7 +55,7 @@ class PlatalLogger extends PlLogger * @param $suid the id of the administrator who has just su'd to the user * @return session the session id */ - private function writeSession($uid, $suid = 0) + private function writeSession($uid, $suid = null) { $ip = $_SERVER['REMOTE_ADDR']; $host = strtolower(gethostbyaddr($_SERVER['REMOTE_ADDR'])); @@ -71,6 +71,8 @@ class PlatalLogger extends PlLogger $proxy = 'proxy'; } + $uid = ($uid == 0) ? null : $uid; + $suid = ($suid == 0) ? null : $suid; XDB::execute("INSERT INTO log_sessions SET uid={?}, host={?}, ip={?}, forward_ip={?}, forward_host={?}, browser={?}, suid={?}, flags={?}", $uid, $host, ip_to_uint($ip), ip_to_uint($forward_ip), $forward_host, $browser, $suid, $proxy); diff --git a/upgrade/1.0.1/06_ids.sql b/upgrade/1.0.1/06_ids.sql index dad95d3..4d10344 100644 --- a/upgrade/1.0.1/06_ids.sql +++ b/upgrade/1.0.1/06_ids.sql @@ -3,88 +3,88 @@ ALTER TABLE accounts MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; ALTER TABLE profiles MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; -- Following tables all refer to accounts.uid. -ALTER TABLE account_auth_openid MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE account_lost_passwords MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE account_profiles MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE aliases MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE announce_read MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE announces MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE axletter_ins MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE axletter_rights MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE carvas MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE contacts MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE email_list_moderate MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE email_options MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE email_send_save MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE email_watch MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE emails MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE forum_innd MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE forum_profiles MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE forum_subs MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE group_announces MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE group_announces_read MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE group_event_participants MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE group_member_sub_requests MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE group_members MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE homonyms MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE ip_watch MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE log_last_sessions MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE log_sessions MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE newsletter_ins MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE payment_transactions MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE profile_modifications MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE register_marketing MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE register_mstats MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE register_pending MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE register_subs MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE reminder MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE requests MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE requests_hidden MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE watch MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE watch_nonins MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE watch_promo MODIFY COLUMN uid INT(11) UNSIGNED NOT NULL DEFAULT 0; +ALTER TABLE account_auth_openid MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE account_lost_passwords MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE account_profiles MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE aliases MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE announce_read MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE announces MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE axletter_ins MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE axletter_rights MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE carvas MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE contacts MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE email_list_moderate MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE email_options MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE email_send_save MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE email_watch MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE emails MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE forum_innd MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE forum_profiles MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE forum_subs MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE group_announces MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE group_announces_read MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE group_event_participants MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE group_member_sub_requests MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE group_members MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE homonyms MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE ip_watch MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE log_last_sessions MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE log_sessions MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE newsletter_ins MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE payment_transactions MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE profile_modifications MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE register_marketing MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE register_mstats MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE register_pending MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE register_subs MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE reminder MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE requests MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE requests_hidden MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE watch MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE watch_nonins MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE watch_promo MODIFY COLUMN uid INT(11) UNSIGNED DEFAULT NULL; -- Following tables all refer to accounts.uid, but they use a different name. -ALTER TABLE contacts MODIFY COLUMN contact INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE email_list_moderate MODIFY COLUMN mid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE gapps_accounts MODIFY COLUMN l_userid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE gapps_queue MODIFY COLUMN q_owner_id INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE gapps_queue MODIFY COLUMN q_recipient_id INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE gapps_nicknames MODIFY COLUMN l_userid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE homonyms MODIFY COLUMN homonyme_id INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE log_sessions MODIFY COLUMN suid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE register_marketing MODIFY COLUMN sender INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE register_mstats MODIFY COLUMN sender INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE watch_nonins MODIFY COLUMN ni_id INT(11) UNSIGNED NOT NULL DEFAULT 0; +ALTER TABLE contacts MODIFY COLUMN contact INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE email_list_moderate MODIFY COLUMN mid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE gapps_accounts MODIFY COLUMN l_userid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE gapps_queue MODIFY COLUMN q_owner_id INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE gapps_queue MODIFY COLUMN q_recipient_id INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE gapps_nicknames MODIFY COLUMN l_userid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE homonyms MODIFY COLUMN homonyme_id INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE log_sessions MODIFY COLUMN suid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE register_marketing MODIFY COLUMN sender INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE register_mstats MODIFY COLUMN sender INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE watch_nonins MODIFY COLUMN ni_id INT(11) UNSIGNED DEFAULT NULL; -- Rename columns that should be called uid. -ALTER TABLE group_events CHANGE COLUMN organisateur_uid uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE survey_votes CHANGE COLUMN user_id uid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE surveys CHANGE COLUMN author_id uid INT(11) UNSIGNED NOT NULL DEFAULT 0; +ALTER TABLE group_events CHANGE COLUMN organisateur_uid uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE survey_votes CHANGE COLUMN user_id uid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE surveys CHANGE COLUMN author_id uid INT(11) UNSIGNED DEFAULT NULL; -- Following tables all refer to profiles.pid. -ALTER TABLE account_profiles MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE requests MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE search_name MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE watch_profile MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE profile_addresses MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE profile_binets MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE profile_corps MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE profile_display MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE profile_education MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE profile_job MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE profile_job_term MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE profile_langskills MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE profile_medals MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE profile_mentor MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE profile_mentor_country MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE profile_mentor_sector MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE profile_mentor_term MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE profile_modifications MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE profile_name MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE profile_networking MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE profile_phones MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE profile_photos MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL DEFAULT 0; -ALTER TABLE profile_skills MODIFY COLUMN pid INT(11) UNSIGNED NOT NULL DEFAULT 0; +ALTER TABLE account_profiles MODIFY COLUMN pid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE requests MODIFY COLUMN pid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE search_name MODIFY COLUMN pid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE watch_profile MODIFY COLUMN pid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE profile_addresses MODIFY COLUMN pid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE profile_binets MODIFY COLUMN pid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE profile_corps MODIFY COLUMN pid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE profile_display MODIFY COLUMN pid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE profile_education MODIFY COLUMN pid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE profile_job MODIFY COLUMN pid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE profile_job_term MODIFY COLUMN pid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE profile_langskills MODIFY COLUMN pid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE profile_medals MODIFY COLUMN pid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE profile_mentor MODIFY COLUMN pid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE profile_mentor_country MODIFY COLUMN pid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE profile_mentor_sector MODIFY COLUMN pid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE profile_mentor_term MODIFY COLUMN pid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE profile_modifications MODIFY COLUMN pid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE profile_name MODIFY COLUMN pid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE profile_networking MODIFY COLUMN pid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE profile_phones MODIFY COLUMN pid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE profile_photos MODIFY COLUMN pid INT(11) UNSIGNED DEFAULT NULL; +ALTER TABLE profile_skills MODIFY COLUMN pid INT(11) UNSIGNED DEFAULT NULL; -- vim:set syntax=mysql: diff --git a/upgrade/1.0.1/07_ids_foreign_keys.sql b/upgrade/1.0.1/07_ids_foreign_keys.sql new file mode 100644 index 0000000..591d422 --- /dev/null +++ b/upgrade/1.0.1/07_ids_foreign_keys.sql @@ -0,0 +1,95 @@ +-- Prepares table having uid or pid set to 0. +UPDATE aliases SET uid = NULL WHERE uid = 0; +UPDATE log_sessions SET uid = NULL WHERE uid = 0; +UPDATE log_sessions SET suid = NULL WHERE suid = 0; +UPDATE register_marketing SET sender = NULL WHERE sender = 0; +UPDATE register_mstats SET sender = NULL WHERE sender = 0; +UPDATE requests SET pid = NULL WHERE pid = 0; +UPDATE profile_addresses SET pid = NULL WHERE pid = 0; + +-- Deltes erroneous data. +DELETE FROM homonyms WHERE NOT EXISTS (SELECT * FROM accounts WHERE accounts.uid = homonyms.homonyme_id); +DELETE FROM register_marketing WHERE NOT EXISTS (SELECT * FROM accounts WHERE accounts.uid = register_marketing.uid); +DELETE FROM watch_nonins WHERE NOT EXISTS (SELECT * FROM accounts WHERE accounts.uid = watch_nonins.ni_id); +DELETE FROM log_last_sessions WHERE NOT EXISTS (SELECT * FROM accounts WHERE accounts.uid = log_last_sessions.uid); +DELETE FROM forum_profiles WHERE NOT EXISTS (SELECT * FROM accounts WHERE accounts.uid = forum_profiles.uid); +DELETE FROM watch WHERE NOT EXISTS (SELECT * FROM accounts WHERE accounts.uid = watch.uid); + +-- Following tables all refer to accounts.uid. +ALTER TABLE account_auth_openid ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE account_lost_passwords ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE account_profiles ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE aliases ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE announce_read ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE announces ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE axletter_ins ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE axletter_rights ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE carvas ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE contacts ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE email_list_moderate ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE email_options ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE email_send_save ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE email_watch ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE forum_innd ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE forum_profiles ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE forum_subs ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE group_announces ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE group_announces_read ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE group_events ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE group_member_sub_requests ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE homonyms ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE ip_watch ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE log_last_sessions ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE newsletter_ins ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE payment_transactions ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE profile_modifications ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE register_marketing ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE register_mstats ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE register_pending ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE register_subs ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE reminder ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE requests ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE requests_hidden ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE survey_votes ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE surveys ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE watch ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE watch_nonins ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE watch_promo ADD FOREIGN KEY (uid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; + +-- Following tables all refer to accounts.uid, but they use a different name. +ALTER TABLE contacts ADD FOREIGN KEY (contact) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE email_list_moderate ADD FOREIGN KEY (mid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE gapps_accounts ADD FOREIGN KEY (l_userid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE gapps_queue ADD FOREIGN KEY (q_owner_id) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE gapps_queue ADD FOREIGN KEY (q_recipient_id) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE gapps_nicknames ADD FOREIGN KEY (l_userid) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE homonyms ADD FOREIGN KEY (homonyme_id) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE register_marketing ADD FOREIGN KEY (sender) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE register_mstats ADD FOREIGN KEY (sender) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE watch_nonins ADD FOREIGN KEY (ni_id) REFERENCES accounts (uid) ON DELETE CASCADE ON UPDATE CASCADE; + +-- Following tables all refer to profiles.pid. +ALTER TABLE account_profiles ADD FOREIGN KEY (pid) REFERENCES profiles (pid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE requests ADD FOREIGN KEY (pid) REFERENCES profiles (pid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE search_name ADD FOREIGN KEY (pid) REFERENCES profiles (pid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE watch_profile ADD FOREIGN KEY (pid) REFERENCES profiles (pid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE profile_binets ADD FOREIGN KEY (pid) REFERENCES profiles (pid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE profile_corps ADD FOREIGN KEY (pid) REFERENCES profiles (pid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE profile_display ADD FOREIGN KEY (pid) REFERENCES profiles (pid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE profile_education ADD FOREIGN KEY (pid) REFERENCES profiles (pid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE profile_job ADD FOREIGN KEY (pid) REFERENCES profiles (pid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE profile_job_term ADD FOREIGN KEY (pid) REFERENCES profiles (pid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE profile_langskills ADD FOREIGN KEY (pid) REFERENCES profiles (pid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE profile_medals ADD FOREIGN KEY (pid) REFERENCES profiles (pid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE profile_mentor ADD FOREIGN KEY (pid) REFERENCES profiles (pid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE profile_mentor_country ADD FOREIGN KEY (pid) REFERENCES profiles (pid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE profile_mentor_sector ADD FOREIGN KEY (pid) REFERENCES profiles (pid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE profile_mentor_term ADD FOREIGN KEY (pid) REFERENCES profiles (pid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE profile_modifications ADD FOREIGN KEY (pid) REFERENCES profiles (pid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE profile_name ADD FOREIGN KEY (pid) REFERENCES profiles (pid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE profile_networking ADD FOREIGN KEY (pid) REFERENCES profiles (pid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE profile_phones ADD FOREIGN KEY (pid) REFERENCES profiles (pid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE profile_photos ADD FOREIGN KEY (pid) REFERENCES profiles (pid) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE profile_skills ADD FOREIGN KEY (pid) REFERENCES profiles (pid) ON DELETE CASCADE ON UPDATE CASCADE; + +-- vim:set syntax=mysql: