mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-08-14 15:20:59 +00:00
feat(migrate-db): SQLite <-> .dump conversion and Download Migration in Overview
Binary: extend the migrate-db subcommand with --dump and --restore so a SQLite database can be exported to a portable SQL text dump and rebuilt from one, alongside the existing --dsn PostgreSQL copy. Implemented in Go via the bundled sqlite driver (new database/dump_sqlite.go); no external sqlite3 client is required. Add ExportPostgresToSQLite (reverse of MigrateData) to build a SQLite .db from live PostgreSQL data, reusing the shared copyAllModels helper. Overview: add a "Download Migration" item to Backup & Restore plus a getMigration endpoint/service that returns a .dump on SQLite or a .db on PostgreSQL, so the data can seed a panel on the other backend. Document the endpoint in api-docs and translate the three new strings across all locales. Tests: cover the destination-side copy (AutoMigrate + copyTable into SQLite) and the dump/restore round-trip including quoted values. Ignore *.dump. The x-ui.sh helper that drives this from the CLI is in PR #4910.
This commit is contained in:
@@ -2690,7 +2690,7 @@ migrate_to_postgres() {
|
||||
echo ""
|
||||
echo -e "${yellow}This copies your current SQLite data into a PostgreSQL database,${plain}"
|
||||
echo -e "${yellow}then switches the panel to PostgreSQL and restarts it.${plain}"
|
||||
echo -e "${yellow}The destination PostgreSQL database must be empty.${plain}"
|
||||
echo -e "${red}Any existing panel tables in the destination will be cleared and overwritten.${plain}"
|
||||
confirm "Continue?" "n" || return 0
|
||||
|
||||
local dsn="" pg_mode
|
||||
|
||||
Reference in New Issue
Block a user