[vz-users] Datenbankportierung und neue Struktur

Jakob Hirsch jh at plonk.de
Do Dez 29 02:14:34 CET 2022


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...



Mehr Informationen über die Mailingliste volkszaehler-users