From 090333c9631709e7841df7da32879b62cdf3ef38 Mon Sep 17 00:00:00 2001 From: Codex Date: Fri, 12 Jun 2026 14:40:06 +0000 Subject: [PATCH] Handle directory sqlite paths in migration scripts --- README.md | 3 +++ scripts/export-to-old-redis.sh | 8 ++++++++ scripts/import-from-old-redis.sh | 7 +++++++ 3 files changed, 18 insertions(+) diff --git a/README.md b/README.md index 42899b8..cb9e666 100644 --- a/README.md +++ b/README.md @@ -77,6 +77,9 @@ Keep the old container running while importing. The old Redis usually listens on `127.0.0.1:6379` inside that container, so the helper script joins the old container's network namespace. +`--sqlite` may point to a SQLite database file or to a directory. When it points +to a directory, the scripts use `kosync.sqlite3` inside that directory. + ```sh scripts/import-from-old-redis.sh \ --old-container kosync \ diff --git a/scripts/export-to-old-redis.sh b/scripts/export-to-old-redis.sh index 906f165..65918eb 100755 --- a/scripts/export-to-old-redis.sh +++ b/scripts/export-to-old-redis.sh @@ -54,8 +54,16 @@ case "$SQLITE" in *) SQLITE_ABS=$(pwd)/$SQLITE ;; esac +case "$SQLITE_ABS" in + */) SQLITE_ABS=${SQLITE_ABS%/}/kosync.sqlite3 ;; +esac +if [ -d "$SQLITE_ABS" ]; then + SQLITE_ABS=$SQLITE_ABS/kosync.sqlite3 +fi + SQLITE_DIR=$(dirname "$SQLITE_ABS") SQLITE_BASE=$(basename "$SQLITE_ABS") +mkdir -p "$SQLITE_DIR" if [ "$PULL" -eq 1 ]; then docker pull "$IMAGE" diff --git a/scripts/import-from-old-redis.sh b/scripts/import-from-old-redis.sh index 5e148d3..f43a39e 100755 --- a/scripts/import-from-old-redis.sh +++ b/scripts/import-from-old-redis.sh @@ -49,6 +49,13 @@ case "$SQLITE" in *) SQLITE_ABS=$(pwd)/$SQLITE ;; esac +case "$SQLITE_ABS" in + */) SQLITE_ABS=${SQLITE_ABS%/}/kosync.sqlite3 ;; +esac +if [ -d "$SQLITE_ABS" ]; then + SQLITE_ABS=$SQLITE_ABS/kosync.sqlite3 +fi + SQLITE_DIR=$(dirname "$SQLITE_ABS") SQLITE_BASE=$(basename "$SQLITE_ABS") mkdir -p "$SQLITE_DIR"