9854ca2f59
Mirror to GitHub / mirror (push) Successful in 27s
Test and Lint / backend-test (push) Successful in 1m21s
continuous-integration/drone/push Build is passing
Test and Lint / frontend-test (push) Successful in 2m4s
Version and Release / version-bump (push) Failing after 31s
Version and Release / trigger-drone (push) Has been skipped
- Created core/ directory for essential migrations that always run - Created legacy/ directory for migrations only needed when upgrading - New deployments will only run core migrations for a clean database - Existing deployments will run all migrations in proper sequence - Fixed duplicate migration numbers (014 and 027) - Updated migration runners to handle new directory structure - Added README explaining the migration organization This change optimizes deployment for new users who will get a clean schema without running unnecessary upgrade migrations.
46 lines
1.4 KiB
Markdown
46 lines
1.4 KiB
Markdown
# Database Migrations
|
|
|
|
This directory contains database migrations for the Wedding Photo Sharing platform.
|
|
|
|
## Directory Structure
|
|
|
|
### `/core`
|
|
Essential migrations that are always run for new deployments. These include:
|
|
- `init.js` - Initial database schema creation
|
|
- Backup service tables (029-035)
|
|
- Gallery feedback tables (033)
|
|
|
|
### `/legacy`
|
|
Migrations needed only when upgrading from older versions. New deployments can skip these as the core schema already includes all necessary tables and columns.
|
|
|
|
## For New Deployments
|
|
|
|
If you're deploying this application for the first time:
|
|
1. The `initializeDatabase()` function in `src/database/db.js` will create all necessary tables
|
|
2. Only migrations in the `/core` directory will be run
|
|
3. This ensures a clean, optimized database schema
|
|
|
|
## For Existing Deployments
|
|
|
|
If you're upgrading from an older version:
|
|
1. All migrations (both core and legacy) will be run in sequence
|
|
2. The migration system tracks which migrations have been applied
|
|
3. Only new migrations will be executed
|
|
|
|
## Running Migrations
|
|
|
|
```bash
|
|
# Development
|
|
npm run migrate
|
|
|
|
# Production
|
|
npm run migrate:prod
|
|
```
|
|
|
|
## Note on Duplicate Migration Numbers
|
|
|
|
The legacy directory contains renamed duplicates:
|
|
- `014_add_host_name_to_events_duplicate.js` (was duplicate of 014)
|
|
- `027_add_rate_limit_settings_duplicate.js` (was duplicate of 027)
|
|
|
|
These have been renamed to avoid conflicts while preserving the migration history. |