LANCommander/LANCommander.Server.Data
Pat Hartl 790311ac8d Various fixes for MySQL/MariaDB
- Regenerate migrations
- Fix identity database context lifetimes
- Fix rendering of edit components
- Move database settings to separate section
2026-06-12 23:48:11 -05:00
..
Enums Refactor Settings 2025-11-16 12:31:25 -06:00
Extensions Adjust Blazor server-side to pull data with new context 2024-11-25 22:29:56 -06:00
Interceptors Database intercepter to sanitize game saves (like recursion and kept base game reference) 2025-05-18 19:46:42 +02:00
Models Add options to redistributables 2026-05-15 00:14:46 -05:00
DatabaseContext.cs Various fixes for MySQL/MariaDB 2026-06-12 23:48:11 -05:00
DatabaseContextFactory.cs Fix ability to add database migrations 2026-01-10 20:02:45 -06:00
LANCommander.Server.Data.csproj Bump to .NET 10 2026-04-10 02:19:50 -05:00
ModelBuilderExtensions.cs Use custom models for identities 2024-10-15 23:48:16 -05:00
PaginatedResults.cs Add DataTable component 2024-12-12 17:35:52 -06:00
README.md Rename identity tables 2024-10-15 20:48:06 -05:00
UpdateEntityContext.cs Fix certain taxonomies (tag, genre, platform) being removed from game on save 2025-12-08 00:51:32 -06:00

LANCommander.Server.Data

This is the main assembly for defining database schema and the database context for Entity Framework Core.

Adding Migrations

Migrations should only be added to the database provider projects. The following commands can be used to add a new migration:

dotnet ef migrations add <Migration Name> --project LANCommander.Server.Data.SQLite --startup-project LANCommander.Server -- --database-provider=SQLite --connection-string="Data Source=LANCommander.db;Cache=Shared"
dotnet ef migrations add <Migration Name> --project LANCommander.Server.Data.MySQL --startup-project LANCommander.Server -- --database-provider=MySQL --connection-string="Server=localhost;Uid=root;Pwd=password;Database=LANCommander"
dotnet ef migrations add <Migration Name> --project LANCommander.Server.Data.PostgreSQL --startup-project LANCommander.Server -- --database-provider=PostgreSQL --connection-string="Host=localhost;Port=5432;Database=LANCommander;User Id=postgres;Password=password"

A migration should be added to every database provider. Note that when running each of these, Settings.yml needs to be updated with the correct connection strings.

If something with the parsing of the database provider or connection string arguments needs to be looked at, you can add --debugger for the application to wait until a debugger is attached.