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