Back up and restore databases from the Linux app

Offen
#3,654 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
35/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
linux, mariadb, mysql, postgresql, sqlite, swift
Bereich
databases, desktop

Rechercherichtung

Read linux/ROADMAP.md, features/backup-restore.mdx, and the Flatpak decision at linux/docs/decisions/0008-flatpak-sandbox-permissions.md; compare the Linux package manifests and current export flow. First decide whether the feature belongs in the backlog and how Flatpak will handle client tools. Done means PostgreSQL and SQLite backup and restore work from the app on PPA and COPR packages.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

enhancement platform-linux
Problem

The Linux app cannot back up or restore a database. linux/ROADMAP.md, Backlog, Ideas lists "backup and restore" as not committed. The macOS app has both (features/backup-restore.mdx).

Two facts shape how it can work on Linux:

  • For PostgreSQL and MySQL the usual tools are pg_dump, pg_restore, mysqldump and mariadb-dump, programs on the host. Neither package depends on them today (linux/build-aux/debian/control, linux/build-aux/rpm/tablepro.spec).
  • The Flatpak cannot run host programs (linux/docs/decisions/0008-flatpak-sandbox-permissions.md, Consequences), so it would need its own copies or no backup at all.
Proposed solution
  • Decide whether backup and restore move from Ideas into the backlog, and record it in linux/ROADMAP.md.
  • If yes, a first version:
    • Back Up a database to a file, run off the GTK thread with progress and Stop, as exports run today.
    • SQLite with VACUUM INTO, through the driver, with no outside tool.
    • PostgreSQL with pg_dump in custom or plain format, and MySQL and MariaDB with mysqldump or mariadb-dump, found on PATH, with the packages recommending the client tools.
    • The password goes to the tool through a private file or the environment, never the command line, and an SSH tunnel's local forward is the host it connects to.
    • Restore from a file asks first, names the target database, and is refused on a read-only connection.
    • SQL Server and ClickHouse back up on the server's side, to paths on the server; leave them out of the first version, or offer only the statement, previewed.
  • Decide for the Flatpak: bundle the client tools, or show that backup needs the distribution package.

Done means: a PostgreSQL and a SQLite database can be backed up to a file and restored from it, from the app, on the PPA and COPR packages.

Alternatives considered

Run pg_dump or mysqldump in a terminal, through the same SSH tunnel by hand.

Platform

Linux

Related database type

N/A / General

Vorherrschende Sprache
Swift
Sterne
6.2k
Forks
412
Ø Merge
3 Std. 56 Min.
Gemergte PRs (30 T.)
669

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus TableProApp/TablePro

Alle Issues in TableProApp/TablePro

Ähnliche Issues

Weitere Issues zu Swift

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.