Wo soll die SQLite-Datenbankdatei gespeichert werden?

8

Ich schreibe eine Anwendung zum Erlernen von Fremdwörtern in genau einer Sprache (derzeit Englisch), die derzeit ein ineffektives Design aufweist.

Ich benutze Java und SQLite-jdbc zum Speichern der Wörter. Nach dem Start lädt die Anwendung eine durch Kommas getrennte Wortliste herunter und fügt jedes Wertepaar in die Datenbank ein. Ich habe die Wortliste in einem zusätzlichen Github-Repository gehostet, weil ich dachte, ich sollte die Datenbankdatei nicht im Entwicklungs-Git-Repository speichern - sie ist binär, sodass sich der Hash der Datenbankdatei jedes Mal ändert, wenn ich etwas mit der Datenbank mache. Das gefällt mir nicht, weil ich dann unlesbare Commit-Nachrichten erstellen muss und die tatsächliche Änderung an der Datenbank schwer zu verstehen ist.

Daher meine eigentliche Frage: Gibt es eine elegantere Lösung zum Speichern der DB-Datei als das Speichern im Git-Repo? Sollte ich die aktuelle Datenbankdatei einfach auf einem anderen Dateihost speichern? Was sind die Best Practices für eine solche Situation?

Toogley
quelle

Antworten:

20

Speichern Sie die Wörter in einem Textformat und erstellen Sie während des Builds eine Datenbank.

Anstatt die Informationen im Binärformat und die Binärdatei in der Versionskontrolle zu speichern, sollten Sie die Paare in einer CSV-Datei aufbewahren. Auf diese Weise können Sie es einfach ändern, die Änderungen und später diffdie Änderungen problemlos festschreiben.

Wenn Sie diese Daten später tatsächlich in einer Datenbank benötigen, führen Sie eine Masseneinfügung aus der CSV-Datei durch. Dies kann während eines Builds oder einer Bereitstellung erfolgen. SQLite verfügt übrigens über eine Funktion , die es ermöglicht (und vor allem schnell), Daten aus CSV-Dateien zu importieren.

Arseni Mourzenko
quelle