Files
RCS/scripts/prune-dev-data.sh
T
Squid 5a0e2e630b Add self-hosted RCS backend, extension, and ops tooling
Ship the Go/SQLite API and Web UI, Chrome/Brave capture addon,
Docker Compose, Pangolin reverse-proxy support, and a user-crontab
watchdog so the binary stays running without systemd.
2026-08-06 22:02:45 +02:00

49 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
# Remove local seed/test rows from data/rcs.db; keep real Reddit captures.
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
DB="${RCS_DB_PATH:-$ROOT/data/rcs.db}"
SHOT_DIR="${RCS_DATA_DIR:-$ROOT/data}/screenshots"
if [[ ! -f "$DB" ]]; then
echo "No database at $DB — nothing to prune."
exit 0
fi
before="$(sqlite3 "$DB" 'SELECT COUNT(*) FROM comments;')"
sqlite3 "$DB" <<'SQL'
PRAGMA foreign_keys = ON;
DELETE FROM comments
WHERE reddit_comment_id = 't1_testcomment1'
OR reddit_comment_id LIKE 't1_page_%';
DELETE FROM posts
WHERE reddit_post_id IN ('t3_testpost1', 't3_onlypost', 't3_seedpost');
DELETE FROM users
WHERE reddit_user_id IN ('t2_user1', 't2_op', 't2_a', 't2_seed');
-- Orphan posts with no comments left
DELETE FROM posts
WHERE id NOT IN (SELECT DISTINCT post_id FROM comments);
-- Orphan users not referenced by comments or posts
DELETE FROM users
WHERE id NOT IN (SELECT DISTINCT author_id FROM comments)
AND id NOT IN (SELECT DISTINCT author_id FROM posts);
SQL
rm -f "$SHOT_DIR/t1_testcomment1.png"
after="$(sqlite3 "$DB" 'SELECT COUNT(*) FROM comments;')"
posts="$(sqlite3 "$DB" 'SELECT COUNT(*) FROM posts;')"
users="$(sqlite3 "$DB" 'SELECT COUNT(*) FROM users;')"
echo "Pruned seed/test data from $DB"
echo " comments: $before -> $after"
echo " posts: $posts"
echo " users: $users"