On 2022-12-26 11:55, Michael Hartmann wrote:
der Unterschied zwichen pk und copy ist klar. Nur das copy wie von mir und Sven zuvor 
beschrieben lediglich die ersten 1000 Datensätze ins Backup transferiert. Der 
"Fehler" geschieht bereits beim Sichern, wie aus der Größe der Sicherungsdatei 
ersichtlich.

Hm, ok, da wird wohl "batch size" nur einmal kopiert, obwohl das eigentlich schon vorgesehen ist, alles komplett zu kopieren. Problem ist m.E. Zeile 169 in CopyCommand.php, da wird auf $keyColumn geprüft (warum auch immer), das bei "copy" natürlich nicht gesetzt ist. Kannst du mal probieren, den Klammerausdruck komplett durch "true" zu ersetzen? (die Bedingung "sizeof($rows)" wird weiter oben schon geprüft...)

Deinem Quote aus dem Code folgend, braucht es eine Anpassung von dbcopy?

Ja. Ist sicher kein Hexenwerk, aber auch kein one-liner. Und muß halt auch einigermaßen getestet werden. Wenn man das wirklich braucht, wäre es (zumindest vorübergehend) eine Alternative, das Schema wieder zu erweitern. Für data geht das z.B. so:

alter table data add unique key `ch_ts` (`channel_id`,`timestamp`), drop primary key, add column id bigint not null auto_increment primary key first;

Naja, kann verstehen, daß sich da nicht einfach jeder rantraut...

Irgendwie ist das ziemlich unglücklich mit der neuen DB-Struktur ohne 
fortlaufende ID.

Naja, ist m.E. schon besser (habe das auch schon eine Weile vorher so benutzt), der Rest muss dazu aber halt auch passen...

Antwort per Email an