dograh/scripts/makemigrate.sh

34 lines
1,016 B
Bash
Raw Normal View History

2025-09-26 09:09:06 +05:30
#!/usr/bin/env bash
set -e # Exit immediately if a command exits with a non-zero status
# Set PYTHONPATH to the parent directory of the script's location
export PYTHONPATH="$(dirname "$(dirname "$(dirname "$(realpath "$0")")")")"
# Define color codes
RED='\033[0;31m'
NC='\033[0m' # No Color
env_file="api/.env"
# Check if environment file exists
if [ ! -f "$env_file" ]; then
echo -e "${RED}Error: Environment file $env_file not found.${NC}"
exit 1
fi
# Load environment variables
export $(grep -v '^#' "$env_file" | xargs)
# Prompt for the name of the migration
read -p "Enter the migration name (minimum 5 characters): " migration_name
# Check if the migration name is empty or less than 5 characters
if [[ -z "$migration_name" || ${#migration_name} -lt 5 ]]; then
echo -e "${RED}Error: Migration name must be at least 5 characters long.${NC}"
exit 1
fi
# Generate the Alembic revision with the provided migration name
alembic -c api/alembic.ini revision --autogenerate -m "$migration_name"