<?php
/**
- * @copyright Copyright (C) 2020, Friendica
+ * @copyright Copyright (C) 2010-2021, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
*/
public static function dropTables(bool $execute)
{
+ $postupdate = DI::config()->get("system", "post_update_version", PostUpdate::VERSION);
+ if ($postupdate < PostUpdate::VERSION) {
+ echo DI::l10n()->t('The post update is at version %d, it has to be at %d to safely drop the tables.', $postupdate, PostUpdate::VERSION);
+ return;
+ }
+
$old_tables = ['fserver', 'gcign', 'gcontact', 'gcontact-relation', 'gfollower' ,'glink', 'item-delivery-data',
- 'item_id', 'poll', 'poll_result', 'queue', 'retriever_rule', 'sign', 'spam', 'term'];
+ 'item-activity', 'item-content', 'item_id', 'participation', 'poll', 'poll_result', 'queue', 'retriever_rule',
+ 'deliverq', 'dsprphotoq', 'ffinder', 'sign', 'spam', 'term', 'user-item', 'thread', 'item'];
$tables = DBA::selectToArray(['INFORMATION_SCHEMA' => 'TABLES'], ['TABLE_NAME'],
['TABLE_SCHEMA' => DBA::databaseName(), 'TABLE_TYPE' => 'BASE TABLE']);
} elseif ($verbose) {
echo "Zero permissionset already added\n";
}
- if (!self::existsForeignKeyForField('item', 'psid')) {
+ if (self::existsTable('item') && !self::existsForeignKeyForField('item', 'psid')) {
$sets = DBA::p("SELECT `psid`, `item`.`uid`, `item`.`private` FROM `item`
LEFT JOIN `permissionset` ON `permissionset`.`id` = `item`.`psid`
WHERE `permissionset`.`id` IS NULL AND NOT `psid` IS NULL");