mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-05-30 19:54:16 -04:00
Use env variable for migration bundle instead of dockerfile entrypoint
This commit is contained in:
parent
7140d308fd
commit
e39337f8f1
@ -24,4 +24,4 @@ RUN dotnet ef migrations bundle --no-build --self-contained -r linux-${TARGETARC
|
|||||||
FROM mcr.microsoft.com/dotnet/runtime-deps:8.0
|
FROM mcr.microsoft.com/dotnet/runtime-deps:8.0
|
||||||
COPY --from=builder /app/migrate /app/migrate
|
COPY --from=builder /app/migrate /app/migrate
|
||||||
|
|
||||||
ENTRYPOINT /app/migrate --connection "USER ID=${POSTGRES_USER};PASSWORD=${POSTGRES_PASSWORD};SERVER=${POSTGRES_SERVER};PORT=${POSTGRES_PORT};DATABASE=${POSTGRES_DB};"
|
ENTRYPOINT ["/app/migrate"]
|
||||||
|
@ -40,6 +40,7 @@ public class PostgresContext(DbContextOptions options, IHttpContextAccessor acce
|
|||||||
{
|
{
|
||||||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||||||
{
|
{
|
||||||
|
optionsBuilder.UseProjectables();
|
||||||
optionsBuilder.UseSnakeCaseNamingConvention();
|
optionsBuilder.UseSnakeCaseNamingConvention();
|
||||||
base.OnConfiguring(optionsBuilder);
|
base.OnConfiguring(optionsBuilder);
|
||||||
}
|
}
|
||||||
@ -128,7 +129,11 @@ public class PostgresContextBuilder : IDesignTimeDbContextFactory<PostgresContex
|
|||||||
{
|
{
|
||||||
public PostgresContext CreateDbContext(string[] args)
|
public PostgresContext CreateDbContext(string[] args)
|
||||||
{
|
{
|
||||||
NpgsqlDataSource dataSource = PostgresModule.CreateDataSource(new ConfigurationManager());
|
IConfigurationRoot config = new ConfigurationBuilder()
|
||||||
|
.AddEnvironmentVariables()
|
||||||
|
.AddCommandLine(args)
|
||||||
|
.Build();
|
||||||
|
NpgsqlDataSource dataSource = PostgresModule.CreateDataSource(config);
|
||||||
DbContextOptionsBuilder builder = new();
|
DbContextOptionsBuilder builder = new();
|
||||||
builder.UseNpgsql(dataSource);
|
builder.UseNpgsql(dataSource);
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ public static class PostgresModule
|
|||||||
{
|
{
|
||||||
["USER ID"] = configuration.GetValue("POSTGRES_USER", "KyooUser"),
|
["USER ID"] = configuration.GetValue("POSTGRES_USER", "KyooUser"),
|
||||||
["PASSWORD"] = configuration.GetValue("POSTGRES_PASSWORD", "KyooPassword"),
|
["PASSWORD"] = configuration.GetValue("POSTGRES_PASSWORD", "KyooPassword"),
|
||||||
["SERVER"] = configuration.GetValue("POSTGRES_SERVER", "db"),
|
["SERVER"] = configuration.GetValue("POSTGRES_SERVER", "postgres"),
|
||||||
["PORT"] = configuration.GetValue("POSTGRES_PORT", "5432"),
|
["PORT"] = configuration.GetValue("POSTGRES_PORT", "5432"),
|
||||||
["DATABASE"] = configuration.GetValue("POSTGRES_DB", "kyooDB"),
|
["DATABASE"] = configuration.GetValue("POSTGRES_DB", "kyooDB"),
|
||||||
["POOLING"] = "true",
|
["POOLING"] = "true",
|
||||||
@ -55,11 +55,10 @@ public static class PostgresModule
|
|||||||
public static void ConfigurePostgres(this WebApplicationBuilder builder)
|
public static void ConfigurePostgres(this WebApplicationBuilder builder)
|
||||||
{
|
{
|
||||||
NpgsqlDataSource dataSource = CreateDataSource(builder.Configuration);
|
NpgsqlDataSource dataSource = CreateDataSource(builder.Configuration);
|
||||||
|
|
||||||
builder.Services.AddDbContext<DatabaseContext, PostgresContext>(
|
builder.Services.AddDbContext<DatabaseContext, PostgresContext>(
|
||||||
x =>
|
x =>
|
||||||
{
|
{
|
||||||
x.UseNpgsql(dataSource).UseProjectables();
|
x.UseNpgsql(dataSource);
|
||||||
if (builder.Environment.IsDevelopment())
|
if (builder.Environment.IsDevelopment())
|
||||||
x.EnableDetailedErrors().EnableSensitiveDataLogging();
|
x.EnableDetailedErrors().EnableSensitiveDataLogging();
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user