Files
TimeTracker/scripts/setup-migrations.bat
Dries Peeters d9dab3a49c feat: enhance README with comprehensive screenshot showcase
- Add organized screenshot sections for better visual presentation
- Include all 12 available screenshots from assets/screenshots/
- Group screenshots into logical categories:
  * Core Application Views (Dashboard, Projects, Tasks, Clients)
  * Management & Analytics (Reports, Visual Analytics, Task Management, Admin)
  * Data Entry & Creation (Log Time, New Task, New Client, New Project)
- Improve visual layout with proper spacing and responsive design
- Enhance user experience by showcasing full application capabilities
2025-09-02 14:42:54 +02:00

167 lines
4.1 KiB
Batchfile

@echo off
REM TimeTracker Migration Setup Script for Windows
REM This script helps set up Flask-Migrate for database migrations
echo === TimeTracker Migration Setup ===
echo This script will help you set up Flask-Migrate for database migrations
echo.
REM Check if we're in the right directory
if not exist "app.py" (
echo Error: Please run this script from the TimeTracker root directory
pause
exit /b 1
)
REM Check if Python is available
python --version >nul 2>&1
if errorlevel 1 (
echo Error: Python is required but not installed or not in PATH
pause
exit /b 1
)
REM Check if Flask is available
python -c "import flask" >nul 2>&1
if errorlevel 1 (
echo Error: Flask is required but not installed
echo Please install dependencies with: pip install -r requirements.txt
pause
exit /b 1
)
REM Check if Flask-Migrate is available
python -c "import flask_migrate" >nul 2>&1
if errorlevel 1 (
echo Error: Flask-Migrate is required but not installed
echo Please install dependencies with: pip install -r requirements.txt
pause
exit /b 1
)
echo ✓ Prerequisites check passed
echo.
REM Set environment variables if not already set
if "%FLASK_APP%"=="" (
set FLASK_APP=app.py
echo Set FLASK_APP=app.py
)
REM Check if migrations directory exists
if exist "migrations" (
echo ✓ Migrations directory already exists
REM Check if it's properly initialized
if exist "migrations\env.py" if exist "migrations\alembic.ini" (
echo ✓ Flask-Migrate is already initialized
REM Show current status
echo.
echo Current migration status:
flask db current 2>nul || echo No migrations applied yet
echo.
echo Migration history:
flask db history 2>nul || echo No migration history
echo.
echo To create a new migration:
echo flask db migrate -m "Description of changes"
echo.
echo To apply pending migrations:
echo flask db upgrade
pause
exit /b 0
) else (
echo ⚠ Migrations directory exists but appears incomplete
echo Removing and reinitializing...
rmdir /s /q migrations
)
)
REM Initialize Flask-Migrate
echo Initializing Flask-Migrate...
flask db init
if errorlevel 1 (
echo ✗ Failed to initialize Flask-Migrate
pause
exit /b 1
) else (
echo ✓ Flask-Migrate initialized successfully
)
REM Create initial migration
echo.
echo Creating initial migration...
flask db migrate -m "Initial database schema"
if errorlevel 1 (
echo ✗ Failed to create initial migration
pause
exit /b 1
) else (
echo ✓ Initial migration created successfully
)
REM Show the generated migration
echo.
echo Generated migration file:
dir migrations\versions
echo.
echo Review the migration file before applying:
echo type migrations\versions\*.py
REM Ask user if they want to apply the migration
echo.
set /p "apply_migration=Do you want to apply this migration now? (y/N): "
if /i "%apply_migration%"=="y" (
echo Applying migration...
flask db upgrade
if errorlevel 1 (
echo ✗ Failed to apply migration
pause
exit /b 1
) else (
echo ✓ Migration applied successfully
echo.
echo Current migration status:
flask db current
echo.
echo Migration history:
flask db history
)
) else (
echo Migration not applied. You can apply it later with:
echo flask db upgrade
)
echo.
echo === Setup Complete ===
echo.
echo Your Flask-Migrate system is now set up!
echo.
echo Next steps:
echo 1. Test your application to ensure everything works
echo 2. For future schema changes:
echo - Edit your models in app\models\
echo - Run: flask db migrate -m "Description of changes"
echo - Review the generated migration file
echo - Run: flask db upgrade
echo.
echo Useful commands:
echo flask db current # Show current migration
echo flask db history # Show migration history
echo flask db downgrade # Rollback last migration
echo.
echo For more information, see: migrations\README.md
pause