22 lines
794 B
Bash
Executable File
22 lines
794 B
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Pre-commit hook: runs PostgreSQL migration compatibility tests
|
|
# when migration-related files are staged.
|
|
#
|
|
# Install: ln -sf ../../scripts/pre-commit .git/hooks/pre-commit
|
|
|
|
STAGED_FILES=$(git diff --cached --name-only --diff-filter=ACM)
|
|
|
|
# Only run if migration-related files are staged
|
|
if echo "$STAGED_FILES" | grep -qE '^(src/init_db\.py|src/utils/database\.py|src/models/)'; then
|
|
echo "Migration files changed — running PostgreSQL compatibility checks..."
|
|
python tests/test_migration_compatibility.py
|
|
if [ $? -ne 0 ]; then
|
|
echo ""
|
|
echo "Pre-commit hook FAILED: PostgreSQL migration compatibility issues found."
|
|
echo "Fix the issues above before committing."
|
|
exit 1
|
|
fi
|
|
echo "All migration compatibility checks passed."
|
|
fi
|