Typo and manual on cascade delete for pseudo FK.
authorThomas Minvielle <thomas.minvielle@polytechnique.org>
Fri, 11 Jul 2014 20:25:01 +0000 (22:25 +0200)
committerThomas Minvielle <thomas.minvielle@polytechnique.org>
Fri, 11 Jul 2014 20:25:01 +0000 (22:25 +0200)
bin/cron/checkdb.php
upgrade/1.1.14/02_delete_unlinked_rows.sql [new file with mode: 0644]

index a2dd732..873e219 100755 (executable)
@@ -152,25 +152,25 @@ check("SELECT  a.*
         WHERE  a.type = 'home' AND NOT EXISTS (SELECT  *
                                                  FROM  profiles AS p
                                                 WHERE  a.pid = p.pid)",
-      "Adresses de type 'home' reliées à un profil inexsitant.");
+      "Adresses de type 'home' reliées à un profil inexistant.");
 check("SELECT  a.*
          FROM  profile_addresses AS a
         WHERE  a.type = 'job' AND NOT EXISTS (SELECT  *
                                                 FROM  profile_job AS j
                                                WHERE  a.pid = j.pid AND a.id = j.id)",
-      "Adresses de type 'job' reliées à un emploi inexsitant.");
+      "Adresses de type 'job' reliées à un emploi inexistant.");
 check("SELECT  a.*
          FROM  profile_addresses AS a
         WHERE  a.type = 'hq' AND NOT EXISTS (SELECT  *
                                                FROM  profile_job_enum AS je
                                               WHERE  a.jobid = je.id)",
-      "Adresses de type 'hq' reliées à une entreprise inexsitante.");
+      "Adresses de type 'hq' reliées à une entreprise inexistante.");
 check("SELECT  a.*
          FROM  profile_addresses AS a
         WHERE  a.type = 'group' AND NOT EXISTS (SELECT  *
                                                   FROM  groups AS g
                                                  WHERE  a.groupid = g.id)",
-      "Adresses de type 'group' reliées à un groupe inexsitant.");
+      "Adresses de type 'group' reliées à un groupe inexistant.");
 
 check("SELECT  m.*
          FROM  profile_medals AS m
@@ -215,7 +215,7 @@ check("SELECT  evd.name
          FROM  email_virtual_domains AS evd
    INNER JOIN  email_virtual_domains AS evd2 ON (evd.aliasing = evd2.id)
         WHERE  evd2.id != evd2.aliasing",
-      "Domaines aliasés de niveau 2 ou plus qui ne sont pas vu par postfix.");
+      "Domaines aliasés de niveau 2 ou plus qui ne sont pas vus par postfix.");
 
 // Account viewing statistics
 info("SELECT  nb_profiles, hruid
diff --git a/upgrade/1.1.14/02_delete_unlinked_rows.sql b/upgrade/1.1.14/02_delete_unlinked_rows.sql
new file mode 100644 (file)
index 0000000..4d878c0
--- /dev/null
@@ -0,0 +1,7 @@
+DELETE * FROM profile_addresses WHERE pid = 44872 AND jobid = 0 AND groupid = 0 AND type = 'home' AND id = 0;
+DELETE * FROM profile_addresses WHERE pid = 16669 AND jobid = 0 AND groupid = 0 AND type = 'job' AND id = 0;
+DELETE * FROM profile_addresses WHERE pid = 44872 AND jobid = 0 AND groupid = 0 AND type = 'job' AND id = 0;
+DELETE * FROM profile_phones WHERE pid = 16669 AND link_type = 'pro' AND link_id = 0 AND tel_id = 0;
+DELETE * FROM profile_phones WHERE pid = 44872 AND link_type = 'pro' AND link_id = 0 AND tel_id = 0;
+DELETE * FROM profile_phones WHERE pid = 44872 AND link_type = 'user' AND link_id = 0 AND tel_id = 0;
+DELETE * FROM profile_phones WHERE pid = 44872 AND link_type = 'user' AND link_id = 0 AND tel_id = 1;