Benachrichtigungen
Alles entfernen
Fakturama 2
2
Beiträge
1
Benutzer
0
Reactions
537
Aufrufe
Topic starter
1. April 2020 14:19
Hi,
ich habe einen SQL-Dump der fakturama Datenbank auf Windows gemacht.
Jetzt habe ich auf Linux Mint 2.0.5 installiert, die Datenbank in MySQL angelegt, Privilegien auf den Benutzer gelegt, die Daten eingelesen (sind auch da).
Wenn ich Fakturama das zweite mal nach Eingabe der Datenbank-Verbindung starte, bricht das Programm ab. Es scheint ein Problem mit "Duplicate Key" zu geben:
Error: Can't write; duplicate key in table '#sql-2de_3c' [Failed SQL: ALTER TABLE `fakturama`.`FKT_CATEGORY` ADD CONSTRAINT `FK_FKT_CATEGORY_ABSTRACTCATEGORY_PARENT` FOREIGN KEY (`ABSTRACTCATEGORY_PARENT`) REFERENCES `fakturama`.`FKT_CATEGORY` (`ID`) ON UPDATE NO ACTION ON DELETE NO ACTION]
GENERAL_WORKSPACE=/home/username/Fakturama eclipse.preferences.version=1 javax.persistence.jdbc.driver=com.mysql.jdbc.Driver javax.persistence.jdbc.password=password javax.persistence.jdbc.url=jdbc:mysql://localhost:3306/fakturama javax.persistence.jdbc.user=username jdbc_reconnect=true standardpayment=1 standardshipping=1 standardvat=1
Wenn ich mit einer leeren Datenbank beginne, kommt der Fehler nicht.
Hat jemand eine Idee?
Gruß
Thomas
Topic starter
1. April 2020 19:06
Gelöst.
Das Problem ist der mysqldump aus Windows, wo die Tabellennamen generell in Kleinbuchstaben ausgegeben wurden:
DROP TABLE IF EXISTS `fkt_category`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `fkt_category` (
und der in Linux:
DROP TABLE IF EXISTS `FKT_CATEGORY`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `FKT_CATEGORY` (
Ich habe das so korrigiert:
cat windows.sql | sed -e 's/([`].*[`])/U1/g' > linux.sql # finde Backticks und den Text dazwischen und wandele das in Großbuchstaben um.
Gruß
Thomas