Skip to main content

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 models
  • docs/infrastructure/entities/ - Entity documentation

Additional Resources​