]> git.mxchange.org Git - friendica.git/blobdiff - update.php
Adding a post update to clean up the contact table
[friendica.git] / update.php
index acbb458f7fb62f436077ecc1417a865678f3c898..3e74efd29f9b75f0548fca4d1297024025b93305 100644 (file)
@@ -45,6 +45,7 @@ use Friendica\Core\Logger;
 use Friendica\Core\Update;
 use Friendica\Core\Worker;
 use Friendica\Database\DBA;
+use Friendica\Database\DBStructure;
 use Friendica\DI;
 use Friendica\Model\Contact;
 use Friendica\Model\GContact;
@@ -508,3 +509,29 @@ function update_1351()
 
        return Update::SUCCESS;
 }
+
+function pre_update_1354()
+{
+       if (DBStructure::existsColumn('contact', ['ffi_keyword_blacklist'])
+               && !DBStructure::existsColumn('contact', ['ffi_keyword_denylist'])
+               && !DBA::e("ALTER TABLE `contact` CHANGE `ffi_keyword_blacklist` `ffi_keyword_denylist` text null")) {
+               return Update::FAILED;
+       }
+       return Update::SUCCESS;
+}
+
+function update_1354()
+{
+       if (DBStructure::existsColumn('contact', ['ffi_keyword_blacklist'])
+               && DBStructure::existsColumn('contact', ['ffi_keyword_denylist'])) {
+               if (!DBA::e("UPDATE `contact` SET `ffi_keyword_denylist` = `ffi_keyword_blacklist`")) {
+                       return Update::FAILED;
+               }
+
+               // When the data had been copied then the main task is done.
+               // Having the old field removed is only beauty but not crucial.
+               // So we don't care if this was successful or not.
+               DBA::e("ALTER TABLE `contact` DROP `ffi_keyword_blacklist`");
+       }
+       return Update::SUCCESS;
+}