Убрано лишнее создание

This commit is contained in:
2026-06-04 18:06:52 +03:00
parent 6e6831c232
commit e353e9e7f9
2 changed files with 1 additions and 33 deletions

View File

@@ -23,7 +23,6 @@
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Npgsql" Version="10.0.3" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="10.0.2" />
</ItemGroup>

View File

@@ -7,7 +7,6 @@ using ConsoleApp.Logging;
using Domain.Entities;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Npgsql;
var configuration = new ConfigurationBuilder()
.SetBasePath(AppContext.BaseDirectory)
@@ -28,7 +27,6 @@ try
{
log.WriteLine("Инициализация базы данных...");
await using var db = CreateDbContext(connectionString);
await EnsureDatabaseAsync(connectionString);
await db.Database.MigrateAsync();
log.WriteLine("База данных готова.");
@@ -51,10 +49,6 @@ try
}
var order = ReadOrder(log, dishes);
if (order is null)
{
return;
}
log.WriteLine(order.ToString());
log.WriteLine("Отправка заказа на сервер...");
@@ -105,31 +99,6 @@ static AppDbContext CreateDbContext(string connectionString)
return new AppDbContext(options);
}
static async Task EnsureDatabaseAsync(string connectionString)
{
var builder = new NpgsqlConnectionStringBuilder(connectionString);
var databaseName = builder.Database
?? throw new InvalidOperationException("Имя базы данных не указано в строке подключения.");
builder.Database = "postgres";
await using var connection = new NpgsqlConnection(builder.ConnectionString);
await connection.OpenAsync();
await using var checkCommand = connection.CreateCommand();
checkCommand.CommandText = "SELECT 1 FROM pg_database WHERE datname = @name";
checkCommand.Parameters.AddWithValue("name", databaseName);
if (await checkCommand.ExecuteScalarAsync() is not null)
{
return;
}
await using var createCommand = connection.CreateCommand();
createCommand.CommandText = $"CREATE DATABASE \"{databaseName.Replace("\"", "\"\"")}\"";
await createCommand.ExecuteNonQueryAsync();
}
static async Task SaveDishesAsync(AppDbContext db, IReadOnlyList<Dish> dishes)
{
await db.Dishes.ExecuteDeleteAsync();
@@ -146,7 +115,7 @@ static async Task SaveDishesAsync(AppDbContext db, IReadOnlyList<Dish> dishes)
await db.SaveChangesAsync();
}
static Order? ReadOrder(ConsoleLog log, IReadOnlyList<Dish> dishes)
static Order ReadOrder(ConsoleLog log, IReadOnlyList<Dish> dishes)
{
var dishesByArticle = dishes.ToDictionary(d => d.Article, StringComparer.OrdinalIgnoreCase);