chore(migration): ajouter scripts et migrations de donnees
This commit is contained in:
45
scripts/migrate-inventory-data.sh
Executable file
45
scripts/migrate-inventory-data.sh
Executable file
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
SOURCE_DB="${SOURCE_DB:-inventory_data}"
|
||||
TARGET_DB="${TARGET_DB:-inventory}"
|
||||
PGHOST="${PGHOST:-localhost}"
|
||||
PGPORT="${PGPORT:-5433}"
|
||||
PGUSER="${PGUSER:-postgres}"
|
||||
PGPASSWORD="${PGPASSWORD:-postgres}"
|
||||
DUMP_FILE="${DUMP_FILE:-/tmp/inventory_data_dump.sql}"
|
||||
|
||||
export PGPASSWORD
|
||||
|
||||
EXCLUDE_TABLES=(
|
||||
"doctrine_migration_versions"
|
||||
"migration_versions"
|
||||
"_prisma_migrations"
|
||||
"profiles"
|
||||
)
|
||||
|
||||
EXCLUDE_ARGS=()
|
||||
for table in "${EXCLUDE_TABLES[@]}"; do
|
||||
EXCLUDE_ARGS+=(--exclude-table-data="$table")
|
||||
done
|
||||
|
||||
echo "Dumping data from ${SOURCE_DB}..."
|
||||
pg_dump \
|
||||
--data-only \
|
||||
--inserts \
|
||||
--no-owner \
|
||||
--no-privileges \
|
||||
"${EXCLUDE_ARGS[@]}" \
|
||||
-h "${PGHOST}" \
|
||||
-p "${PGPORT}" \
|
||||
-U "${PGUSER}" \
|
||||
"${SOURCE_DB}" > "${DUMP_FILE}"
|
||||
|
||||
echo "Restoring data into ${TARGET_DB}..."
|
||||
psql \
|
||||
-h "${PGHOST}" \
|
||||
-p "${PGPORT}" \
|
||||
-U "${PGUSER}" \
|
||||
"${TARGET_DB}" < "${DUMP_FILE}"
|
||||
|
||||
echo "Done. Data copied from ${SOURCE_DB} to ${TARGET_DB}."
|
||||
Reference in New Issue
Block a user