Hangfire не создает таблицы в IIS - PullRequest
       100

Hangfire не создает таблицы в IIS

0 голосов
/ 20 сентября 2019

Я установил Hangfire в своем проекте ASP.Core 2.2, используя это руководство https://docs.hangfire.io/en/latest/getting-started/aspnet-core-applications.html.

Когда я удаляю свою MyProject_dev MSSQL db и запускаю Update-Database, создаются только мои пользовательские таблицы.После запуска проекта добавляются таблицы Hangfire.

В appsettings.production.json Я настроил БД на MyProject_prod и нажимаю Папка Публикация с проверенным Миграции Entity Framework , чтобы процесс сборки мог создатьФайл .sql в папке EFSQLScripts с SQL, который мне нужно применить к базе данных MyProject_prod.

Проблема в том, что файл .sql содержит только мои пользовательские таблицы.Когда я запускаю сайт IIS, таблицы Hangfire не создаются в MyProject_prod db, по сравнению с тем, когда я запускаю проект с F5 локально, где они создаются в MyProject_dev, если их не существует,Глядя на логи, я вижу, что соединение с MyProject_prod db установлено, ошибка:

[ERR] Execution BackgroundServerProcess is still in the Failed state for 00:20:45.1406056 due to an exception, will be retried no more than in 00:00:15
System.Data.SqlClient.SqlException (0x80131904): Invalid object name 'HangFire.Server'.

Я мог экспортировать таблицы из моего MyProject_dev db и импортировать их в MyProject_prodДБ, но я не думаю, что это был бы правильный подход.Почему таблицы не создаются при запуске приложения под IIS?

1 Ответ

0 голосов
/ 24 сентября 2019

Попробуйте создать базу данных вручную, без добавления каких-либо таблиц.В вашем конфиге укажите его на вновь созданную базу данных.Это может быть проблемой с ботом Hangfire, имеющим права на создание базы данных.

...