# Database Migrations ## Running Migrations ### Prerequisites 1. Ensure PostgreSQL is running 2. Create the database if it doesn't exist: ```bash psql -U postgres -c "CREATE DATABASE jd_book_uploader;" ``` 3. Ensure your `.env` or `.env.local` file in the backend directory has the correct database credentials ### Run Migration ```bash cd backend ./scripts/run_migration.sh ``` Or manually: ```bash cd backend export $(grep -v '^#' .env.local | grep -v '^$' | xargs) PGPASSWORD="$DB_PASSWORD" psql -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "$DB_NAME" -f migrations/001_create_tables.sql ``` ### Verify Schema ```bash cd backend ./scripts/verify_schema.sh ``` This will show: - Table structures for `books` and `stationery` - All indexes created on both tables ## Migration Files - `001_create_tables.sql` - Creates books and stationery tables with indexes