From 1ae41988bfd832f37a5f582e8ac2895f1bb9a74d Mon Sep 17 00:00:00 2001 From: Simon Rieger Date: Wed, 16 Oct 2024 14:32:31 +0200 Subject: [PATCH] add convert_to_mariadb script --- convert_to_mariadb.sh | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 convert_to_mariadb.sh diff --git a/convert_to_mariadb.sh b/convert_to_mariadb.sh new file mode 100755 index 0000000..90eb5aa --- /dev/null +++ b/convert_to_mariadb.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +input_file="ihatemoney.sql" +output_file="ihatemoney_mariadb.sql" + +# Temporäre Datei erstellen +temp_file=$(mktemp) + +# Konvertierung durchführen +sed ' + 1i SET FOREIGN_KEY_CHECKS=0; + $a SET FOREIGN_KEY_CHECKS=1; + s/AUTOINCREMENT/AUTO_INCREMENT/g + s/INTEGER PRIMARY KEY/INT AUTO_INCREMENT PRIMARY KEY/g + s/INTEGER/INT/g + s/FLOAT/DOUBLE/g + s/BOOLEAN/TINYINT(1)/g + s/TEXT/LONGTEXT/g + s/VARCHAR(/VARCHAR(/g + s/DATETIME/TIMESTAMP/g + s/CREATE TABLE/CREATE TABLE IF NOT EXISTS/g + s/"transaction"/`transaction`/g + s/);/) ENGINE=InnoDB;/g + /PRAGMA/d + /BEGIN TRANSACTION/d + /COMMIT/d + s/INSERT INTO/INSERT IGNORE INTO/g + s/'\''t'\''/1/g + s/'\''f'\''/0/g + s/datetime(/FROM_UNIXTIME(/g +' "$input_file" > "$temp_file" + +# Ersetze die Originaldatei durch die konvertierte Version +mv "$temp_file" "$output_file" + +echo "Konvertierung abgeschlossen. Die konvertierte SQL-Datei wurde als $output_file gespeichert."