X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FDatabase%2FDBStructure.php;h=f652272a4743ebf0c38ee0ab711e2a3b8c63d1c4;hb=f26226229a45af4053055b8a5ea7aa0f7aa33e0c;hp=9af6100a0ac319b37992f967f6d5acbb9b3ca131;hpb=bc58cb9b94e2553fa02a874b6c52ebe50e487833;p=friendica.git diff --git a/src/Database/DBStructure.php b/src/Database/DBStructure.php index 9af6100a0a..f652272a47 100644 --- a/src/Database/DBStructure.php +++ b/src/Database/DBStructure.php @@ -81,7 +81,8 @@ class DBStructure $old_tables = ['fserver', 'gcign', 'gcontact', 'gcontact-relation', 'gfollower' ,'glink', 'item-delivery-data', 'item-activity', 'item-content', 'item_id', 'participation', 'poll', 'poll_result', 'queue', 'retriever_rule', - 'deliverq', 'dsprphotoq', 'ffinder', 'sign', 'spam', 'term', 'user-item', 'thread', 'item']; + 'deliverq', 'dsprphotoq', 'ffinder', 'sign', 'spam', 'term', 'user-item', 'thread', 'item', 'challenge', + 'auth_codes', 'clients', 'tokens', 'profile_check']; $tables = DBA::selectToArray(['INFORMATION_SCHEMA' => 'TABLES'], ['TABLE_NAME'], ['TABLE_SCHEMA' => DBA::databaseName(), 'TABLE_TYPE' => 'BASE TABLE']); @@ -162,8 +163,6 @@ class DBStructure public static function writeStructure() { - Renderer::registerTemplateEngine('Friendica\Render\FriendicaSmartyEngine'); - $tables = []; foreach (self::definition(null) as $name => $definition) { $indexes = [[ @@ -674,6 +673,11 @@ class DBStructure $current_field_definition = DBA::cleanQuery(implode(",", $field_definition)); $new_field_definition = DBA::cleanQuery(implode(",", $parameters)); if ($current_field_definition != $new_field_definition) { + // When the field structure changes then we will not perform the special index handling for MySQL. + // See issue #10768 + $is_unique = false; + $temp_name = $name; + $sql2 = self::modifyTableField($fieldname, $parameters); if ($sql3 == "") { $sql3 = "ALTER" . $ignore . " TABLE `" . $temp_name . "` " . $sql2; @@ -1371,7 +1375,7 @@ class DBStructure echo "permissionset: Table not found\n"; } - if (!self::existsForeignKeyForField('tokens', 'client_id')) { + if (self::existsTable('tokens') && self::existsTable('clients') && !self::existsForeignKeyForField('tokens', 'client_id')) { $tokens = DBA::p("SELECT `tokens`.`id` FROM `tokens` LEFT JOIN `clients` ON `clients`.`client_id` = `tokens`.`client_id` WHERE `clients`.`client_id` IS NULL");