Django_Basic_Manufacturing_3/setup_env.sh
2025-08-22 17:05:22 +07:00

78 lines
2.1 KiB
Bash

#!/bin/bash
# Setup script for Django Manufacturing App on Linux
# Exit on any error
set -e
# Check if Python 3 is installed
if ! command -v python3 &> /dev/null; then
echo "Python 3 is not installed. Please install Python 3.8 or higher."
exit 1
fi
# Check Python version
PYTHON_VERSION=$(python3 -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")')
if [[ $(echo "$PYTHON_VERSION < 3.8" | bc -l) -eq 1 ]]; then
echo "Python version 3.8 or higher is required. Current version: $PYTHON_VERSION"
exit 1
fi
echo "Setting up virtual environment for Django Manufacturing App..."
# Create virtual environment
python3 -m venv venv
# Activate virtual environment
source venv/bin/activate
# Upgrade pip
pip install --upgrade pip
# Install requirements
pip install -r requirements.txt
# Create .env file if it doesn't exist
if [ ! -f .env ]; then
echo "Creating .env file..."
cat > .env << EOF
# Django Settings
DEBUG=True
SECRET_KEY=your-development-secret-key
ALLOWED_HOSTS=localhost,127.0.0.1
# Database Settings (SQLite for development)
# For PostgreSQL in production, uncomment and set these:
# DATABASE_URL=postgres://user:password@host:port/dbname
# DB_NAME=your_db_name
# DB_USER=your_db_user
# DB_PASSWORD=your_db_password
# DB_HOST=your_db_host
# DB_PORT=5432
# Email Settings (optional)
# EMAIL_HOST=your_email_host
# EMAIL_PORT=587
# EMAIL_USE_TLS=True
# EMAIL_HOST_USER=your_email_user
# EMAIL_HOST_PASSWORD=your_email_password
EOF
echo "Please update the .env file with your actual settings."
fi
# Create logs directory
echo "Creating logs directory..."
mkdir -p logs
# Run migrations
echo "Running database migrations..."
python manage.py makemigrations
python manage.py migrate
# Create superuser (optional)
echo "Creating superuser..."
echo "from django.contrib.auth import get_user_model; User = get_user_model(); User.objects.create_superuser('admin', 'admin@example.com', 'admin')" | python manage.py shell
echo "Setup complete!"
echo "To activate the virtual environment, run: source venv/bin/activate"
echo "To start the development server, run: python manage.py runserver"