mysql-sqlite-rs

Crates.iomysql-sqlite-rs
lib.rsmysql-sqlite-rs
version0.1.0
created_at2025-06-19 17:58:39.488767+00
updated_at2025-06-19 17:58:39.488767+00
descriptionA CLI tool for migrating data from MySQL to SQLite databases.
homepage
repositoryhttps://git.schloosser.net/werkzeuge/mysql-sqlite-rs
max_upload_size
id1718647
size85,032
Isaak Engineer (isaakengineer)

documentation

README

mysql-sqlite-rs

Dieses Projekt ermöglicht die Migration von Daten aus einer MySQL-Datenbank in eine SQLite-Datenbank. Es liest Tabellen und deren Spalten aus einer Konfigurationsdatei (config.toml), verbindet sich mit der MySQL-Datenbank, extrahiert die Daten und schreibt sie in die SQLite-Datenbank.

Funktionen

  • MySQL-Datenbankverbindung: Verbindung zu einer MySQL-Datenbank mit Benutzername und Passwort.
  • SQLite-Datenbankverbindung: Schreiben von Daten in eine SQLite-Datenbank.
  • Dynamische Tabellenmigration: Migration von Tabellen und Spalten, die in der Konfigurationsdatei definiert sind.
  • Sicheres Passworthandling: Das Passwort wird sicher über die Konsole eingegeben und nicht im Klartext gespeichert.
  • Datenvalidierung und -sanitierung: Validierung von Datumsformaten und Sanitierung von Zeichenketten.

Voraussetzungen

  • Rust-Umgebung installiert (Rust installieren).
  • MySQL-Datenbank mit Zugriffsdaten.
  • SQLite-Datenbankdatei (wird automatisch erstellt, falls sie nicht existiert).
  • Konfigurationsdatei (config.toml) mit den erforderlichen Einstellungen.

Installation

  1. Repository klonen:

    git clone <repository-url>
    cd mysql-sqlite-rs
    
  2. Abhängigkeiten installieren:

    cargo build
    
  3. Konfigurationsdatei erstellen: Erstellen Sie eine Datei config.toml im Verzeichnis private mit folgendem Inhalt:

    [database]
    host = "localhost"
    port = 3306
    user = "root"
    database = "meine_datenbank"
    file = "output.sqlite"
    
    [[database.tables]]
    name = "tabelle1"
    columns = ["spalte1", "spalte2", "spalte3"]
    
    [[database.tables]]
    name = "tabelle2"
    columns = ["spalteA", "spalteB"]
    

    Hinweis: Passen Sie die Werte entsprechend Ihrer Datenbank an.

Nutzung

  1. Programm ausführen:

    cargo run
    
  2. Passwort eingeben: Das Programm fordert Sie auf, das Passwort für den MySQL-Benutzer einzugeben.

  3. Migration: Das Programm liest die Tabellen und Spalten aus der MySQL-Datenbank und schreibt die Daten in die SQLite-Datenbank.

Beispielausgabe

Nach erfolgreicher Migration zeigt das Programm die migrierten Tabellen und Zeilen an:

Enter password for user 'root': ****
Trying to read the table
Rows from table 'tabelle1':
Table: tabelle1; and row.id = 1
Table: tabelle1; and row.id = 2
Read the table

Fehlerbehandlung

  • MySQL-Verbindungsfehler: Überprüfen Sie die Zugangsdaten in der config.toml.
  • SQLite-Schreibfehler: Stellen Sie sicher, dass die Datei output.sqlite beschreibbar ist.
  • Ungültige Datenformate: Das Programm validiert Datumsformate und zeigt Fehler an, falls diese nicht korrekt sind.

❤️ Unterstütze dieses Projekt

Wenn dir dieses Projekt gefällt und du es unterstützen willst, kannst du gerne eine kleine Spende senden (Bitcoin):

bc1qtmvkgp3d9svpq8622shxvmjccmu3pz6k8yh4a

or the universal code:

PM8TJKkg86BgcFHNTe2bxjJiJk921QMyjfeQVtmAKSk644EZcmgcrqZaVLewFA61rra8sZRxXZHu18TzHzaPAPHBEH49xTyjAwx8gH5Qd2KuJK3Z5w8L

Die gespendeten Mittel werden ausschließlich für [Serverkosten / Entwicklung / Dokumentation] verwendet. Danke für deine Unterstützung!

Lizenz

Dieses Projekt steht unter der MIT-Lizenz. Weitere Informationen finden Sie in der Datei LICENSE.

Commit count: 0

cargo fmt