Database
Database schema, migrations, and management for FishingLog Backend.
Database Information
- Type: PostgreSQL 16
- ORM: Entity Framework Core 9.0
- Migrations: EF Core Migrations
Connection Strings
Development
Host=localhost;Port=5432;Database=fishinglog_db;Username=fishinglog_user;Password=supersecurepassword
Staging/Production
Configured via environment variables in AWS ECS.
Migrations
Create Migration
dotnet ef migrations add MigrationName --project FishingLog.Infrastructure --startup-project FishingLog.API
Apply Migrations
dotnet ef database update --project FishingLog.Infrastructure --startup-project FishingLog.API
Remove Last Migration
dotnet ef migrations remove --project FishingLog.Infrastructure --startup-project FishingLog.API
Reset Migrations
⚠️ WARNING: This will delete all data!
# Windows
.\scripts\reset-migrations.ps1
# macOS/Linux
./scripts/reset-migrations.sh
Database Schema
The database includes 50+ entities covering:
- Users, profiles, and authentication
- Fishing logs, sessions, and catches
- Social features (posts, comments, likes, friends)
- Tournaments and registrations
- Gear (rods, reels, boats, setups)
- Spots, reports, and ratings
- Charters and bookings
- Clubs, events, and circles
- Regulations and Master Angler programs
- Admin features and moderation
- Advertising campaigns and targeting
See Entity Documentation for complete entity definitions.
Entity Documentation
Entity documentation is located in:
FishingLog.Infrastructure/Entities/- Entity modelsdocs/infrastructure/entities/- Entity documentation