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

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

Сообщение Anonymous »

У меня есть гибкий сервер Azure Postgres, расположенный в VNET, разделенном на несколько подсети. В отдельной подсети лежит сервис приложений Azure, который я пытаюсь запустить, опубликовав ее через Gitlab. Однако вскоре после запуска это приложение вылетает из -за отсутствующей схемы базы данных. В основном я могу подключиться к базе данных через веб -приложение Azure (проверка canconnect () < /code> не бросает исключение), но любая операция EF Core не выполняется с ошибкой: < /p>

Таблица XX.yy не существует < /p>
< /blockquote>
hase are are the falty are ase the falty are the falty are the falty are the falty are the falty are the falty are the falty are are are are are are are are are the falty are are are are are are are are hasy are are hase arey. class = "lang-cs prettyprint-override">

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

XXDbContext dbContext = scope.ServiceProvider.GetRequiredService();

// passes
var canConnect = await dbContext.Database.CanConnectAsync();

if (!canConnect)
{
throw new ApplicationException("Cannot establish connection to the database");
}

var pendingMigrations = (await dbContext.Database.GetPendingMigrationsAsync()).ToList();
logger.LogInformation($"Applying pending migrations in environment...");

foreach (var mug in pendingMigrations)
{
logger.LogInformation(mug);
}

// fails to do anything
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");
}

// crashes
var userCount = await dbContext.Users.CountAsync();
< /code>
Я попробовал другие подходы с < /p>
var script = dbContext.Database.GenerateCreateScript();
dbContext.Database.ExecuteSqlRaw(script);
< /code>
Также не удается, на этот раз с ошибкой форматирования SQL: < /p>

фатальная: проверка базы данных не удалась. Приложение не может запустить.system.formatexception: индекс (на основе нуля) должен быть больше или равным нулю и меньше, чем размер списка аргументов.Server=XXX.postgres.database.azure.com;Database=postgres;Port=5432;User Id=admin;Password=YYY;Ssl Mode=Require;
Я не могу выполнить какой -либо запрос непосредственно на портале Azure, так как там нет редактора запросов, и я бы очень предпочел иметь какое -то автоматическое поведение здесь.
Являю ли я единственный вариант для создания виртуальной машины с базовым.>

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

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

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

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

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

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