]> git.mxchange.org Git - friendica.git/blobdiff - include/dbstructure.php
fixed parser error, need parentheses
[friendica.git] / include / dbstructure.php
index 06e81e495843b1bb5c7439eead1c4a13ba067f30..6a14220c241bcdef90757555074e3a0a000da964 100644 (file)
@@ -1,6 +1,7 @@
 <?php
 
-use \Friendica\Core\Config;
+use Friendica\App;
+use Friendica\Core\Config;
 
 require_once("boot.php");
 require_once("include/text.php");
@@ -398,6 +399,14 @@ function update_structure($verbose, $action, $tables=null, $definition=null) {
                                $sql3 .= ";";
                        }
 
+                       $field_list = '';
+                       if ($is_unique && $ignore == '') {
+                               foreach ($structure['fields'] AS $fieldname => $parameters) {
+                                       $field_list .= 'ANY_VALUE(`' . $fieldname . '`),';
+                               }
+                               $field_list = rtrim($field_list, ',');
+                       }
+
                        if ($verbose) {
                                // Ensure index conversion to unique removes duplicates
                                if ($is_unique) {
@@ -414,7 +423,7 @@ function update_structure($verbose, $action, $tables=null, $definition=null) {
                                        if ($ignore != "") {
                                                echo "SET session old_alter_table=0;\n";
                                        } else {
-                                               echo "INSERT INTO `".$temp_name."` SELECT * FROM `".$name."`".$group_by.";\n";
+                                               echo "INSERT INTO `".$temp_name."` SELECT ".$field_list." FROM `".$name."`".$group_by.";\n";
                                                echo "DROP TABLE `".$name."`;\n";
                                                echo "RENAME TABLE `".$temp_name."` TO `".$name."`;\n";
                                        }
@@ -445,7 +454,7 @@ function update_structure($verbose, $action, $tables=null, $definition=null) {
                                        if ($ignore != "") {
                                                $db->q("SET session old_alter_table=0;");
                                        } else {
-                                               $r = $db->q("INSERT INTO `".$temp_name."` SELECT * FROM `".$name."`".$group_by.";");
+                                               $r = $db->q("INSERT INTO `".$temp_name."` SELECT ".$field_list." FROM `".$name."`".$group_by.";");
                                                if (!dbm::is_result($r)) {
                                                        $errors .= print_update_error($db, $sql3);
                                                        return $errors;
@@ -878,7 +887,7 @@ function db_definition() {
                        "indexes" => array(
                                        "PRIMARY" => array("id"),
                                        "addr" => array("addr(32)"),
-                                       "url" => array("url"),
+                                       "url" => array("UNIQUE", "url(190)"),
                                        )
                        );
        $database["ffinder"] = array(
@@ -963,7 +972,7 @@ function db_definition() {
                                        ),
                        "indexes" => array(
                                        "PRIMARY" => array("id"),
-                                       "nurl" => array("nurl(64)"),
+                                       "nurl" => array("UNIQUE", "nurl(190)"),
                                        "name" => array("name(64)"),
                                        "nick" => array("nick(32)"),
                                        "addr" => array("addr(64)"),
@@ -1033,7 +1042,7 @@ function db_definition() {
                                        ),
                        "indexes" => array(
                                        "PRIMARY" => array("id"),
-                                       "nurl" => array("nurl(32)"),
+                                       "nurl" => array("UNIQUE", "nurl(190)"),
                                        )
                        );
        $database["hook"] = array(
@@ -1218,6 +1227,7 @@ function db_definition() {
                                        "convid" => array("convid"),
                                        "uri" => array("uri(64)"),
                                        "parent-uri" => array("parent-uri(64)"),
+                                       "contactid" => array("contact-id"),
                                        )
                        );
        $database["mailacct"] = array(
@@ -1355,6 +1365,7 @@ function db_definition() {
                                        ),
                        "indexes" => array(
                                        "PRIMARY" => array("id"),
+                                       "contactid" => array("contact-id"),
                                        "uid_contactid" => array("uid", "contact-id"),
                                        "uid_profile" => array("uid", "profile"),
                                        "uid_album_scale_created" => array("uid", "album(32)", "scale", "created"),
@@ -1735,7 +1746,7 @@ function dbstructure_run(&$argv, &$argc) {
        global $a, $db;
 
        if (is_null($a)) {
-               $a = new App;
+               $a = new App(dirname(__DIR__));
        }
 
        if (is_null($db)) {