Back up and restore databases from the Linux app

オープン
#3,654 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
linux, mariadb, mysql, postgresql, sqlite, swift
領域
databases, desktop

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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

主要言語
Swift
スター
6.2k
フォーク
412
平均マージ
3時間 56分
マージ済み PR(30日)
669

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

TableProApp/TablePro のほかの issue

TableProApp/TablePro の issue をすべて見る

似ている issue

Swift の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。