using Fengling.Platform.Domain.AggregatesModel.GatewayAggregate; using Fengling.Platform.Domain.AggregatesModel.RoleAggregate; using Fengling.Platform.Domain.AggregatesModel.TenantAggregate; using Fengling.Platform.Domain.AggregatesModel.UserAggregate; using Fengling.Platform.Infrastructure; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity.EntityFrameworkCore; using Microsoft.EntityFrameworkCore; namespace Fengling.Console.Data; /// /// Console 项目的 DbContext,继承 PlatformDbContext 并配置表命名规范 /// PostgreSQL 命名规范:小写字母 + 下划线,模块前缀 /// public class ConsoleDbContext : PlatformDbContext { public ConsoleDbContext(DbContextOptions options) : base(options) { } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); // ========== Gateway 模块 ========== modelBuilder.Entity(entity => { entity.ToTable("gw_tenant_routes"); }); // ========== Tenant 模块 ========== modelBuilder.Entity(entity => { entity.ToTable("sys_tenants"); }); // ========== Audit 模块 ========== modelBuilder.Entity(entity => { entity.ToTable("sys_access_logs"); }); modelBuilder.Entity(entity => { entity.ToTable("sys_audit_logs"); }); // ========== Identity 模块 ========== modelBuilder.Entity(entity => { entity.ToTable("idn_users"); }); modelBuilder.Entity(entity => { entity.ToTable("idn_roles"); }); // Identity tables - custom names modelBuilder.Entity>(entity => entity.ToTable("idn_user_claims")); modelBuilder.Entity>(entity => entity.ToTable("idn_role_claims")); modelBuilder.Entity>(entity => entity.ToTable("idn_user_logins")); modelBuilder.Entity>(entity => entity.ToTable("idn_user_tokens")); modelBuilder.Entity>(entity => entity.ToTable("idn_user_roles")); } }