초기커밋
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
|
||||
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace BrokerCore.Repository.Context;
|
||||
|
||||
using BrokerApiCore.Repository.SqlConfig;
|
||||
|
||||
using DbEntity;
|
||||
|
||||
using Microsoft.EntityFrameworkCore.Design;
|
||||
|
||||
using SqlConfig;
|
||||
|
||||
public class MetaverseBrokerDbContext: DbContext
|
||||
{
|
||||
public DbSet<SapphireExchangeOrder> SapphireExchangeOrders { get; set; }
|
||||
public DbSet<PlanetInfo> PlanetInfos { get; set; }
|
||||
public DbSet<PlanetItemExchangeOrder> PlanetItemExchangeOrders { get; set; }
|
||||
//PlanetItemExchangeOrderAmountUserLimit
|
||||
public DbSet<PlanetItemExchangeOrderAmountUserLimit> PlanetItemExchangeOrderAmountUserLimits { get; set; }
|
||||
//PlanetItemExchangeOrderAmountTotalLimit
|
||||
public DbSet<PlanetItemExchangeOrderAmountTotalLimit> PlanetItemExchangeOrderAmountTotalLimits { get; set; }
|
||||
|
||||
public MetaverseBrokerDbContext(DbContextOptions<MetaverseBrokerDbContext> options) : base(options)
|
||||
{
|
||||
// base.Database.EnsureCreated();
|
||||
}
|
||||
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.ApplyConfiguration(new PlanetInfoConfig());
|
||||
// todo PlanetExchangeOrderConfig으로 교체 예정
|
||||
modelBuilder.ApplyConfiguration(new SapphireExchangeOrderConfig());
|
||||
modelBuilder.ApplyConfiguration(new PlanetExchangeOrderConfig());
|
||||
modelBuilder.ApplyConfiguration(new PlanetItemExchangeOrderAmountUserLimitConfig());
|
||||
modelBuilder.ApplyConfiguration(new PlanetItemExchangeOrderAmountTotalLimitConfig());
|
||||
base.OnModelCreating(modelBuilder);
|
||||
}
|
||||
}
|
||||
|
||||
// ef core 마이그레이션 도구에서 디자인타임에 사용함
|
||||
public class MetaverseBrokerDbContextFactory : IDesignTimeDbContextFactory<MetaverseBrokerDbContext>
|
||||
{
|
||||
public MetaverseBrokerDbContext CreateDbContext(string[] args)
|
||||
{
|
||||
// nlog 설정
|
||||
var nlog_config_path = "../../bin/Debug/Config/nlog.config";
|
||||
var full_path = Path.GetFullPath(nlog_config_path);
|
||||
Console.WriteLine("[MetaverseBrokerDbContextFactory] Full path: {0}", full_path);
|
||||
Log.NLogFileName = full_path;
|
||||
Log.initLog("BrokerApiServer", "Developer");
|
||||
|
||||
var server_config = new ServerConfigMetaverseBroker();
|
||||
server_config.setConfigFilePath("../../bin/Debug/Config/ServerConfig.json");
|
||||
server_config.tryLoadConfig().GetAwaiter().GetResult();
|
||||
var connection_string = server_config.MetaverseBroker?.MetaverseBrokerDbLocal;
|
||||
Console.WriteLine("[MetaverseBrokerDbContextFactory] Connection string: {0}", connection_string);
|
||||
if (string.IsNullOrEmpty(connection_string)) { throw new ApplicationException("Connection string is empty."); }
|
||||
|
||||
var mysql_version = ServerVersion.AutoDetect(connection_string);
|
||||
Console.WriteLine("[MetaverseBrokerDbContextFactory] Mysql vsersion: {0}", mysql_version.ToString());
|
||||
// var mysql_version = ServerVersion.Create(new Version(11, 6, 2), ServerType.MariaDb);
|
||||
var options_builder = new DbContextOptionsBuilder<MetaverseBrokerDbContext>();
|
||||
options_builder.UseMySql(connection_string, mysql_version, builder => builder.EnableRetryOnFailure(3)).EnableDetailedErrors();
|
||||
return new MetaverseBrokerDbContext(options_builder.Options);
|
||||
}
|
||||
}
|
||||
31
BrokerApiCore/Repository/SqlContext/SsoAccountDbContext.cs
Normal file
31
BrokerApiCore/Repository/SqlContext/SsoAccountDbContext.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
namespace BrokerCore.Repository.Context;
|
||||
|
||||
using DbEntity;
|
||||
|
||||
public class SsoAccountDbContext: DbContext
|
||||
{
|
||||
private readonly DbContextOptions<SsoAccountDbContext> m_options;
|
||||
public DbSet<SsoAccountInfo> SsoAccounts { get; set; }
|
||||
// public DbSet<WalletUser> WalletUsers { get; set; }
|
||||
|
||||
public SsoAccountDbContext(DbContextOptions<SsoAccountDbContext> options) : base(options)
|
||||
{
|
||||
m_options = options;
|
||||
}
|
||||
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
base.OnModelCreating(modelBuilder);
|
||||
modelBuilder.Entity<SsoAccountInfo>(entity =>
|
||||
{
|
||||
entity.ToTable("wallet_user");
|
||||
entity.HasNoKey();
|
||||
entity.Property(x => x.Id).HasColumnName("id").HasColumnType("bigint unsigned");
|
||||
entity.Property(x => x.AccessToken).HasColumnName("access_token").HasColumnType("bigint unsigned");
|
||||
entity.Property(x => x.AccessTokenIgm).HasColumnName("access_igm_token").HasColumnType("bigint unsigned");
|
||||
entity.Property(x => x.Email).HasColumnName("email").HasColumnType("varchar(500)");
|
||||
});
|
||||
// base.OnModelCreating(modelBuilder);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user