From: Matthias Schmidt Date: Sun, 6 Dec 2020 13:08:37 +0000 (+0100) Subject: Throw error if renaming non existing database column X-Git-Tag: 5.4.0_Alpha_1~556^2~1 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=8cd06de3ef5b38f253d4eae147b920dd22cb3b74;p=GitHub%2FWoltLab%2FWCF.git Throw error if renaming non existing database column --- diff --git a/wcfsetup/install/files/lib/system/database/table/DatabaseTableChangeProcessor.class.php b/wcfsetup/install/files/lib/system/database/table/DatabaseTableChangeProcessor.class.php index f245f8d786..329cc79eec 100644 --- a/wcfsetup/install/files/lib/system/database/table/DatabaseTableChangeProcessor.class.php +++ b/wcfsetup/install/files/lib/system/database/table/DatabaseTableChangeProcessor.class.php @@ -1084,6 +1084,13 @@ class DatabaseTableChangeProcessor { ]; } } + else if ($column->getNewName()) { + $errors[] = [ + 'columnName' => $column->getName(), + 'tableName' => $table->getName(), + 'type' => 'renameNonexistingColumn' + ]; + } } foreach ($table->getIndices() as $index) { diff --git a/wcfsetup/install/lang/de.xml b/wcfsetup/install/lang/de.xml index 3ba8b81bb7..3bb03069ca 100644 --- a/wcfsetup/install/lang/de.xml +++ b/wcfsetup/install/lang/de.xml @@ -1962,6 +1962,8 @@ Die Datenbestände werden sorgfältig gepflegt, aber es ist nicht ausgeschlossen Die Spalte {$error[tableName]}.{$error[columnName]} gehört zu einem anderen Paket und kann deshalb nicht gelöscht werden. {else if $error[type] === 'foreignColumnChange'} Die Spalte {$error[tableName]}.{$error[columnName]} gehört zu einem anderen Paket und kann deshalb nicht gelöscht werden. + {else if $error[type] === 'renameNonexistingColumn'} + Die Spalte {$error[tableName]}.{$error[columnName]} existiert nicht und kann deshalb nicht umbenannt werden. {else if $error[type] === 'foreignIndexDrop'} Der Index {$error[tableName]} ({$error[columnNames]}) gehört zu einem anderen Paket und kann deshalb nicht gelöscht werden. {else if $error[type] === 'foreignForeignKeyDrop'} diff --git a/wcfsetup/install/lang/en.xml b/wcfsetup/install/lang/en.xml index 27a8ca13a5..c63b536d60 100644 --- a/wcfsetup/install/lang/en.xml +++ b/wcfsetup/install/lang/en.xml @@ -1946,6 +1946,8 @@ If you have already bought the licenses for the listed apps, th The column {$error[tableName]}.{$error[columnName]} belongs to a different package and thus cannot be dropped. {else if $error[type] === 'foreignColumnChange'} The column {$error[tableName]}.{$error[columnName]} belongs to a different package and thus cannot be dropped. + {else if $error[type] === 'renameNonexistingColumn'} + The column {$error[tableName]}.{$error[columnName]} does not exist and thus cannot be renamed. {else if $error[type] === 'foreignIndexDrop'} The index {$error[tableName]} ({$error[columnNames]}) belongs to a different package and thus cannot be dropped. {else if $error[type] === 'foreignForeignKeyDrop'}