fix: deploy.sh pre-clean all tables + SCHEMA var for public/dev
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Momentry Release Package — Deploy Script
|
# Momentry Release Package — Deploy Script
|
||||||
# Usage: bash deploy.sh [--db-only] [--skip-video]
|
# Usage: SCHEMA=public bash deploy.sh
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
DIR="$(cd "$(dirname "$0")" && pwd)"
|
DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||||
@@ -8,8 +8,10 @@ UUID=$(basename "$DIR")
|
|||||||
PG_BIN="${PG_BIN:-/Users/accusys/pgsql/18.3/bin}"
|
PG_BIN="${PG_BIN:-/Users/accusys/pgsql/18.3/bin}"
|
||||||
DB_NAME="${DB_NAME:-momentry}"
|
DB_NAME="${DB_NAME:-momentry}"
|
||||||
DB_USER="${DB_USER:-accusys}"
|
DB_USER="${DB_USER:-accusys}"
|
||||||
|
SCHEMA="${SCHEMA:-dev}"
|
||||||
DEMO_DIR="${DEMO_DIR:-/Users/accusys/momentry/var/sftpgo/data/demo}"
|
DEMO_DIR="${DEMO_DIR:-/Users/accusys/momentry/var/sftpgo/data/demo}"
|
||||||
OUTPUT_DIR="${OUTPUT_DIR:-/Users/accusys/momentry/output_dev}"
|
OUTPUT_DIR="${OUTPUT_DIR:-/Users/accusys/momentry/output_dev}"
|
||||||
|
P="${SCHEMA}."
|
||||||
|
|
||||||
echo "=== Momentry Package Deploy ==="
|
echo "=== Momentry Package Deploy ==="
|
||||||
echo "UUID: $UUID"
|
echo "UUID: $UUID"
|
||||||
@@ -62,10 +64,21 @@ if [ $MISSING -eq 1 ]; then
|
|||||||
fi
|
fi
|
||||||
echo " ✅ Package verified"
|
echo " ✅ Package verified"
|
||||||
|
|
||||||
# 2. Pre-clean: remove existing identities for this file (avoids UNIQUE(name) conflicts on COPY)
|
# 2. Pre-clean: clear all data for this file (avoids PK/FK conflicts on COPY)
|
||||||
echo "[2/9] Pre-cleaning existing identities for this file..."
|
echo "[2/9] Pre-cleaning existing data for this file..."
|
||||||
"$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -c "DELETE FROM dev.identities WHERE file_uuid = '$UUID'" > /dev/null 2>&1
|
"$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" <<-EOSQL > /dev/null 2>&1
|
||||||
echo " ✅ Cleared identities for $UUID"
|
DELETE FROM ${P}tkg_edges WHERE file_uuid = '$UUID';
|
||||||
|
DELETE FROM ${P}tkg_nodes WHERE file_uuid = '$UUID';
|
||||||
|
DELETE FROM ${P}identity_bindings WHERE identity_id IN (
|
||||||
|
SELECT id FROM ${P}identities WHERE file_uuid = '$UUID' OR name LIKE 'PERSON_${UUID:0:8}%'
|
||||||
|
);
|
||||||
|
DELETE FROM ${P}identities WHERE file_uuid = '$UUID';
|
||||||
|
DELETE FROM ${P}face_detections WHERE file_uuid = '$UUID';
|
||||||
|
DELETE FROM ${P}chunk_vectors WHERE uuid = '$UUID';
|
||||||
|
DELETE FROM ${P}chunk WHERE file_uuid = '$UUID';
|
||||||
|
DELETE FROM ${P}videos WHERE file_uuid = '$UUID';
|
||||||
|
EOSQL
|
||||||
|
echo " ✅ Cleared existing data for $UUID"
|
||||||
|
|
||||||
# 3. Import each table file in dependency order (FK constraints)
|
# 3. Import each table file in dependency order (FK constraints)
|
||||||
echo "[3/9] Importing DB data (per-table)..."
|
echo "[3/9] Importing DB data (per-table)..."
|
||||||
@@ -103,7 +116,7 @@ fi
|
|||||||
|
|
||||||
# 5. Set video status to completed (package is fully processed)
|
# 5. Set video status to completed (package is fully processed)
|
||||||
echo "[5/9] Setting deployment status..."
|
echo "[5/9] Setting deployment status..."
|
||||||
"$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -c "UPDATE dev.videos SET status = 'completed' WHERE file_uuid = '$UUID'" > /dev/null 2>&1
|
"$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -c "UPDATE ${P}videos SET status = 'completed' WHERE file_uuid = '$UUID'" > /dev/null 2>&1
|
||||||
echo " ✅ Status set to 'completed'"
|
echo " ✅ Status set to 'completed'"
|
||||||
|
|
||||||
# 6. Copy output files
|
# 6. Copy output files
|
||||||
@@ -131,11 +144,11 @@ fi
|
|||||||
|
|
||||||
# 8. Verify deployment
|
# 8. Verify deployment
|
||||||
echo "[8/9] Verifying deployment..."
|
echo "[8/9] Verifying deployment..."
|
||||||
CHUNKS=$("$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -t -A -c "SELECT COUNT(*) FROM dev.chunk WHERE file_uuid='$UUID'" 2>/dev/null || echo "?")
|
CHUNKS=$("$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -t -A -c "SELECT COUNT(*) FROM ${P}chunk WHERE file_uuid='$UUID'" 2>/dev/null || echo "?")
|
||||||
FACES=$("$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -t -A -c "SELECT COUNT(*) FROM dev.face_detections WHERE file_uuid='$UUID'" 2>/dev/null || echo "?")
|
FACES=$("$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -t -A -c "SELECT COUNT(*) FROM ${P}face_detections WHERE file_uuid='$UUID'" 2>/dev/null || echo "?")
|
||||||
IDENTS=$("$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -t -A -c "SELECT COUNT(*) FROM dev.identities WHERE file_uuid='$UUID'" 2>/dev/null || echo "?")
|
IDENTS=$("$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -t -A -c "SELECT COUNT(*) FROM ${P}identities WHERE file_uuid='$UUID'" 2>/dev/null || echo "?")
|
||||||
TKG_NODES=$("$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -t -A -c "SELECT COUNT(*) FROM dev.tkg_nodes WHERE file_uuid='$UUID'" 2>/dev/null || echo "?")
|
TKG_NODES=$("$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -t -A -c "SELECT COUNT(*) FROM ${P}tkg_nodes WHERE file_uuid='$UUID'" 2>/dev/null || echo "?")
|
||||||
TKG_EDGES=$("$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -t -A -c "SELECT COUNT(*) FROM dev.tkg_edges WHERE file_uuid='$UUID'" 2>/dev/null || echo "?")
|
TKG_EDGES=$("$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -t -A -c "SELECT COUNT(*) FROM ${P}tkg_edges WHERE file_uuid='$UUID'" 2>/dev/null || echo "?")
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "=== Deploy Complete ==="
|
echo "=== Deploy Complete ==="
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Momentry Release Package — Deploy Script
|
# Momentry Release Package — Deploy Script
|
||||||
# Usage: bash deploy.sh [--db-only] [--skip-video]
|
# Usage: SCHEMA=public bash deploy.sh
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
DIR="$(cd "$(dirname "$0")" && pwd)"
|
DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||||
@@ -8,8 +8,10 @@ UUID=$(basename "$DIR")
|
|||||||
PG_BIN="${PG_BIN:-/Users/accusys/pgsql/18.3/bin}"
|
PG_BIN="${PG_BIN:-/Users/accusys/pgsql/18.3/bin}"
|
||||||
DB_NAME="${DB_NAME:-momentry}"
|
DB_NAME="${DB_NAME:-momentry}"
|
||||||
DB_USER="${DB_USER:-accusys}"
|
DB_USER="${DB_USER:-accusys}"
|
||||||
|
SCHEMA="${SCHEMA:-dev}"
|
||||||
DEMO_DIR="${DEMO_DIR:-/Users/accusys/momentry/var/sftpgo/data/demo}"
|
DEMO_DIR="${DEMO_DIR:-/Users/accusys/momentry/var/sftpgo/data/demo}"
|
||||||
OUTPUT_DIR="${OUTPUT_DIR:-/Users/accusys/momentry/output_dev}"
|
OUTPUT_DIR="${OUTPUT_DIR:-/Users/accusys/momentry/output_dev}"
|
||||||
|
P="${SCHEMA}."
|
||||||
|
|
||||||
echo "=== Momentry Package Deploy ==="
|
echo "=== Momentry Package Deploy ==="
|
||||||
echo "UUID: $UUID"
|
echo "UUID: $UUID"
|
||||||
@@ -62,10 +64,21 @@ if [ $MISSING -eq 1 ]; then
|
|||||||
fi
|
fi
|
||||||
echo " ✅ Package verified"
|
echo " ✅ Package verified"
|
||||||
|
|
||||||
# 2. Pre-clean: remove existing identities for this file (avoids UNIQUE(name) conflicts on COPY)
|
# 2. Pre-clean: clear all data for this file (avoids PK/FK conflicts on COPY)
|
||||||
echo "[2/9] Pre-cleaning existing identities for this file..."
|
echo "[2/9] Pre-cleaning existing data for this file..."
|
||||||
"$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -c "DELETE FROM dev.identities WHERE file_uuid = '$UUID'" > /dev/null 2>&1
|
"$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" <<-EOSQL > /dev/null 2>&1
|
||||||
echo " ✅ Cleared identities for $UUID"
|
DELETE FROM ${P}tkg_edges WHERE file_uuid = '$UUID';
|
||||||
|
DELETE FROM ${P}tkg_nodes WHERE file_uuid = '$UUID';
|
||||||
|
DELETE FROM ${P}identity_bindings WHERE identity_id IN (
|
||||||
|
SELECT id FROM ${P}identities WHERE file_uuid = '$UUID' OR name LIKE 'PERSON_${UUID:0:8}%'
|
||||||
|
);
|
||||||
|
DELETE FROM ${P}identities WHERE file_uuid = '$UUID';
|
||||||
|
DELETE FROM ${P}face_detections WHERE file_uuid = '$UUID';
|
||||||
|
DELETE FROM ${P}chunk_vectors WHERE uuid = '$UUID';
|
||||||
|
DELETE FROM ${P}chunk WHERE file_uuid = '$UUID';
|
||||||
|
DELETE FROM ${P}videos WHERE file_uuid = '$UUID';
|
||||||
|
EOSQL
|
||||||
|
echo " ✅ Cleared existing data for $UUID"
|
||||||
|
|
||||||
# 3. Import each table file in dependency order (FK constraints)
|
# 3. Import each table file in dependency order (FK constraints)
|
||||||
echo "[3/9] Importing DB data (per-table)..."
|
echo "[3/9] Importing DB data (per-table)..."
|
||||||
@@ -103,7 +116,7 @@ fi
|
|||||||
|
|
||||||
# 5. Set video status to completed (package is fully processed)
|
# 5. Set video status to completed (package is fully processed)
|
||||||
echo "[5/9] Setting deployment status..."
|
echo "[5/9] Setting deployment status..."
|
||||||
"$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -c "UPDATE dev.videos SET status = 'completed' WHERE file_uuid = '$UUID'" > /dev/null 2>&1
|
"$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -c "UPDATE ${P}videos SET status = 'completed' WHERE file_uuid = '$UUID'" > /dev/null 2>&1
|
||||||
echo " ✅ Status set to 'completed'"
|
echo " ✅ Status set to 'completed'"
|
||||||
|
|
||||||
# 6. Copy output files
|
# 6. Copy output files
|
||||||
@@ -131,11 +144,11 @@ fi
|
|||||||
|
|
||||||
# 8. Verify deployment
|
# 8. Verify deployment
|
||||||
echo "[8/9] Verifying deployment..."
|
echo "[8/9] Verifying deployment..."
|
||||||
CHUNKS=$("$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -t -A -c "SELECT COUNT(*) FROM dev.chunk WHERE file_uuid='$UUID'" 2>/dev/null || echo "?")
|
CHUNKS=$("$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -t -A -c "SELECT COUNT(*) FROM ${P}chunk WHERE file_uuid='$UUID'" 2>/dev/null || echo "?")
|
||||||
FACES=$("$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -t -A -c "SELECT COUNT(*) FROM dev.face_detections WHERE file_uuid='$UUID'" 2>/dev/null || echo "?")
|
FACES=$("$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -t -A -c "SELECT COUNT(*) FROM ${P}face_detections WHERE file_uuid='$UUID'" 2>/dev/null || echo "?")
|
||||||
IDENTS=$("$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -t -A -c "SELECT COUNT(*) FROM dev.identities WHERE file_uuid='$UUID'" 2>/dev/null || echo "?")
|
IDENTS=$("$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -t -A -c "SELECT COUNT(*) FROM ${P}identities WHERE file_uuid='$UUID'" 2>/dev/null || echo "?")
|
||||||
TKG_NODES=$("$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -t -A -c "SELECT COUNT(*) FROM dev.tkg_nodes WHERE file_uuid='$UUID'" 2>/dev/null || echo "?")
|
TKG_NODES=$("$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -t -A -c "SELECT COUNT(*) FROM ${P}tkg_nodes WHERE file_uuid='$UUID'" 2>/dev/null || echo "?")
|
||||||
TKG_EDGES=$("$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -t -A -c "SELECT COUNT(*) FROM dev.tkg_edges WHERE file_uuid='$UUID'" 2>/dev/null || echo "?")
|
TKG_EDGES=$("$PG_BIN/psql" -U "$DB_USER" -d "$DB_NAME" -t -A -c "SELECT COUNT(*) FROM ${P}tkg_edges WHERE file_uuid='$UUID'" 2>/dev/null || echo "?")
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "=== Deploy Complete ==="
|
echo "=== Deploy Complete ==="
|
||||||
|
|||||||
Reference in New Issue
Block a user