[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