export mysql tables and schema master
authorDobrica Pavlinusic <dpavlin@rot13.org>
Mon, 6 Nov 2023 13:05:20 +0000 (14:05 +0100)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Mon, 6 Nov 2023 13:05:20 +0000 (14:05 +0100)
export-csv.sh [new file with mode: 0755]

diff --git a/export-csv.sh b/export-csv.sh
new file mode 100755 (executable)
index 0000000..35572e0
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/sh -e
+
+table=aqorders
+
+mysql() {
+       echo $1 | koha-mysql ffzg > $2
+}
+create_table() {
+       test -e sql/$1.sql && return
+       echo "set sql_mode=ansi ; show create table $1\G" | koha-mysql ffzg | \
+               grep -v -E '(^\*|^ *Table: )' | sed 's/Create Table: //' > sql/$1.sql
+       ls --full-time sql/$1.sql
+}
+
+csv_dump() {
+       test -e /var/lib/mysql/koha/$1.csv && return
+       echo "SELECT * INTO OUTFILE '$1.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' FROM $1" | koha-mysql ffzg
+       ls --full-time /var/lib/mysql/koha/$1.csv
+}
+
+create_table $table
+csv_dump $table
+
+grep REFERENCES sql/*.sql  | sed 's/^.*REFERENCES "\([^"]*\)".*$/\1/' | while read table ; do
+       create_table $table
+       csv_dump $table
+done