Kunde anlegen nutzt falsche Datenbank connection

Hallo,

Ich versuche gerade in meiner Shopware Testinstanz (6.4.1.1) einen neuen Kunden anzulegen.
Dabei bekomme ich allerdings immer einen Datenbankfehler:

# An exception occurred while executing 'INSERT INTO `customer_address` (`id`, `customer_id`, `country_id`, `salutation_id`, `first_name`, `last_name`, `zipcode`, `city`, `street`, `created_at`) VALUES ('\\�ό_@N[��|E{�','+ݟ*�BA��#-��','(8W��A�����-��','Jal�\\HNN�:�\Z�.','wef','wef','wef','wef','wef','2021-06-21 12:50:25.307');':

SQLSTATE[HY000]: General error: 1449 The user specified as a definer ('swapp'@'localhost') does not exist

Das macht ergibt auch Sinn, da der user „swapp“ garnicht mehr existiert.
Laut .env heißt der User jetzt „shopware“ und alle anderen Datenbank Aktionen laufen auch.

Ich habe schon manuell ./var/cache/* geleert, und folgende commands ausgeführt:

bin/console cache:clear
bin/console system:install
bin/console dal:refresh:index
composer update

Kann sich hier jemand zusammenreimen, warum das Kunden erstellen nicht die Datenbank Connection aus der .env nutzt?

Die Installation ist von einem anderen Server kopiert worden, da der Migrationsassistent nicht so wollte.
Im Zuge dessen wurde auch der Datenbank Nutzer geändert.

Hier auch noch mal die .env:

$cat .env | grep DATABASE

DATABASE_URL=mysql://shopware:superdupersecretpassword@localhost:3306/shopware

Hast du einen Datenbank Dump einer anderen Instanz (mit dem alten Benutzer) genommen? Das sollte ein Fehler sein, der durch Trigger ausgelöst wird. Über den Dump werden Trigger mit exportiert, die auch noch auf den alten Benutzer zeigen. Das besagt die Fehlermeldung. Für customer_address gibt es 2 Trigger die benutzt werden, wo du die definer löschen müsstest. (geht über eine datenbank oberfläche deiner wahl)
müssten customer_address_vat_id_insert und customer_address_vat_id_update sein wenn mich nicht alles täuscht.

1 Like

Hey Dominik,

Danke für die Hilfe, das war tatsächlich das Problem.