Я установил 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?