[vz-users] dbcopy
dies und das
6ecoopen at googlemail.com
So Aug 7 18:19:58 CEST 2022
Hallo,
ich möchte dbcopy verwenden, zum Testen habe ich das aktuelle
Volkszäher.img auf einem Rpi2 installiert
um Werte in die Datenbank zubekommen ist aktuell ein 1-Wire
Temperatursensor angeschlossen.
Als Backup Ziel soll mein Win-Homserver dienen auf diesem läuft eine
Virtuelle Maschine mit einer Aktuellen Debian-11.4.0 Installation,
MariaDB-Server ist installiert, vz-admin mit rechten und Test-Datenbank
(pi-test) sind angelegt.
Vom Testsystem (rpi2) kann ich mich mit dem Server verbinden
mysql -h 192.168.178.23 -uvz-admin -p1234 pi-test
Hier https://wiki.volkszaehler.org/software/tools/dbcopy
ist beschrieben dass In der Standardinstallation dbcopy direkt nutzbar ist.
War mir nicht sicher also habe ich folgenden Befehl noch ausgeführt.
sudo chmod +x /var/www/volkszaehler.org/vendor/bin/dbcopy
sudo cp /var/www/volkszaehler.org/etc/dbcopy.dist.yaml /etc/dbcopy.yaml
sudo nano /etc/dbcopy.yaml
# DATABASE DEFINITION
source:
driver: pdo_mysql
host: localhost
user: vz
password: demo
dbname: volkszaehler
target:
driver: pdo_mysql
host: 192.168.178.23
user: vz-admin
password:1234
dbname: pi-test
# path: sqlite.db3 # path is only used if driver = pdo_sqlite
# influxdb target database connection
influx:
dsn: influxdb://localhost:8086
dbname: volkszaehler
measurement: data
# TABLE DEFINITION# ----------------# tables will be processed in the
order they are mentioned:# - foreign keys on target will be
dropped# - if a table is not listed here, it will not be touched#
transfer mode# skip: table will not be copied# copy: entire table
will be truncated on target and copied from source# pk: selective
copy by primary key. only data not present on target# will be
copied from source.
tables:
entities: copy
properties: copy
entities_in_aggregator: copy
data: pk
aggregate: skip
Nächster Schritt Zieldatenbank erstellen mit
/var/www/volkszaehler.org/vendor/bin/dbcopy create -c /etc/dbcopy.yaml
Hier bekomme ich folgende Fehlermeldung
Creating target schema
Creating tables
PHP Fatal error: Uncaught Error: Class
'Doctrine\DBAL\Schema\Synchronizer\SingleDatabaseSynchronizer' not
found in /home/pi/volkszaehler.org/vendor/andig/dbcopy/src/Command/CreateCommand.php:151
Stack trace:
#0 /home/pi/volkszaehler.org/vendor/andig/dbcopy/vendor/symfony/console/Command/Command.php(298):
DatabaseCopy\Command\CreateCommand->execute()
#1 /home/pi/volkszaehler.org/vendor/andig/dbcopy/vendor/symfony/console/Application.php(1024):
Symfony\Component\Console\Command\Command->run()
#2 /home/pi/volkszaehler.org/vendor/andig/dbcopy/vendor/symfony/console/Application.php(299):
Symfony\Component\Console\Application->doRunCommand()
#3 /home/pi/volkszaehler.org/vendor/andig/dbcopy/vendor/symfony/console/Application.php(171):
Symfony\Component\Console\Application->doRun()
#4 /home/pi/volkszaehler.org/vendor/andig/dbcopy/dbcopy(35):
Symfony\Component\Console\Application->run()
#5 /home/pi/volkszaehler.org/vendor/bin/dbcopy(112):
include('/home/pi/volksz...')
#6 {main}
thrown in /home/pi/volkszaehler.org/vendor/andig/dbcopy/src/Command/CreateCommand.php
on line 151
pi at pi-Test:~ $
Ich habe dann mit HeidiSQL das Datenbankschema vom Pi exportiert (ohne
Daten) und auf dem Server importiert
[image: pi-test.JPG]
pi at pi-Test:~ $ /var/www/volkszaehler.org/vendor/bin/dbcopy copy -c
/etc/dbcopy.yaml
Dropping FK FK_87C331C781257D5D on properties
Dropping FK FK_2BD88468DD62C21B on entities_in_aggregator
Dropping FK FK_2BD88468727ACA70 on entities_in_aggregator
Dropping FK FK_ADF3F36372F5A1AA on data
Dropping FK FK_B77949FF72F5A1AA on aggregate
entities: copying PHP Fatal error: Uncaught Error: Call to undefined
method Doctrine\DBAL\Connection::fetchColumn() in
/home/pi/volkszaehler.org/vendor/andig/dbcopy/src/Command/CopyCommand.php:116
Stack trace:
#0 /home/pi/volkszaehler.org/vendor/andig/dbcopy/src/Command/CopyCommand.php(223):
DatabaseCopy\Command\CopyCommand->copyTable()
#1 /home/pi/volkszaehler.org/vendor/andig/dbcopy/vendor/symfony/console/Command/Command.php(298):
DatabaseCopy\Command\CopyCommand->execute()
#2 /home/pi/volkszaehler.org/vendor/andig/dbcopy/vendor/symfony/console/Application.php(1024):
Symfony\Component\Console\Command\Command->run()
#3 /home/pi/volkszaehler.org/vendor/andig/dbcopy/vendor/symfony/console/Application.php(299):
Symfony\Component\Console\Application->doRunCommand()
#4 /home/pi/volkszaehler.org/vendor/andig/dbcopy/vendor/symfony/console/Application.php(171):
Symfony\Component\Console\Application->doRun()
#5 /home/pi/volkszaehler.org/vendor/andig/dbcopy/dbcopy(35):
Symfony\Component\Console\Application->run()
#6 /home/pi/volkszaehler.org/vendor/bin in
/home/pi/volkszaehler.org/vendor/andig/dbcopy/src/Command/CopyCommand.php
on line 116
pi at pi-Test:~ $
Ok dachte ich mir hier kommst nicht weiter also habe ich es so wie in
der o.g. Anleitung versucht.
Auf dem Rpi also Sqlite installiert die /etc/dbcopy.yaml angepasst.target:
driver: pdo_sqlite
host: localhost
user: vz-admin
password: secure
dbname: volkszaehler_backup
path: /home/pi/pi-test.db3
Nach Eingabe von /var/www/volkszaehler.org/vendor/bin/dbcopy create -c
/etc/dbcopy.yaml
kommt der Fehlerpi at pi-Test:~ $
/var/www/volkszaehler.org/vendor/bin/dbcopy create -c /etc/dbcopy.yaml
Creating target schema
In Exception.php line 22:
Operation 'Doctrine\DBAL\Platforms\AbstractPlatform::getListDatabasesSQL'
is not supported by platform.
create [-c|--config CONFIG]
pi at pi-Test:~ $
ich habe Tante G befragt aber nichts gefunden was mir hilft.
Würde mich freuen wenn mir jemand helfen könnte das Problem zu lösen
erst mal egal welchen Ansatz, Server mit Mariadb oder lokal mit Sqlite
mfg
Sven
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20220807/49486776/attachment-0001.html>
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : pi-test.JPG
Dateityp : image/jpeg
Dateigröße : 46793 bytes
Beschreibung: nicht verfügbar
URL : <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20220807/49486776/attachment-0001.jpe>
Mehr Informationen über die Mailingliste volkszaehler-users