Создание DB проходит через веб -приложение Azure с гибким сервером Azure PostgresC#

Место общения программистов C#
Ответить
Anonymous
 Создание DB проходит через веб -приложение Azure с гибким сервером Azure Postgres

Сообщение Anonymous »

У меня есть гибкий сервер Azure Postgres, расположенный в VNET, разделенном на несколько подсети. В отдельной подсети лежит сервис приложений Azure, который я пытаюсь запустить, опубликовав ее через Gitlab. Однако вскоре после запуска это приложение вылетает из -за отсутствующей схемы DB. По сути, я могу подключиться к DB через веб-приложение Azure (проверка canconnect () не бросает исключение), но любая операция EF Core не работает с «Таблицей XX.YY не существует».

Код: Выделить всё

XXDbContext dbContext = scope.ServiceProvider.GetRequiredService();

// passes
var canConnect = await dbContext.Database.CanConnectAsync();
if (!canConnect)
{
throw new ApplicationException("Cannot establish connection to the database");
}

// does nothing
var pendingMigrations = (await dbContext.Database.GetPendingMigrationsAsync()).ToList();
logger.LogInformation($"Applying pending migrations in environment...");
foreach (var mug in pendingMigrations)
{
logger.LogInformation(mug);
}

// fails
if (await TableExistsAsync(dbContext, "Users", "BL") == false)
{
logger.LogWarning("Database tables do not exist. Creating..");
dbContext.Database.EnsureCreated();
logger.LogWarning("Database schema created successfully");
}

if (pendingMigrations.Any())
{
var migrationsList = string.Join(", ", pendingMigrations);
logger.LogWarning($"Database has pending migrations: {migrationsList}");
await dbContext.Database.MigrateAsync();
logger.LogInformation("Migrations applied successfully");
}

< /code>
Я попробовал другие подходы с < /p>
var script = dbContext.Database.GenerateCreateScript();
dbContext.Database.ExecuteSqlRaw(script);
< /code>
Также не удается, на этот раз с ошибкой форматирования SQL: < /p>
 FATAL: Database validation failed. The application cannot start.System.FormatException: Index (zero based)
must be greater than or equal to zero and less than the size of the argument list.at System.Text.ValueStringBuilder.AppendFormatHelpe
Я не могу выполнить какой -либо запрос непосредственно на портале Azure, так как там нет редактора запросов, и я бы очень предпочел иметь какое -то автоматическое поведение здесь .. Является ли мой единственный вариант создания виртуальной машины с бастионом, чтобы просто прочитать меня!>

Подробнее здесь: https://stackoverflow.com/questions/797 ... ble-server
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»