Я заканчиваю работу над своим веб-приложением SAAS. В этом SAAS каждый пользователь представлен базой данных в менеджере баз данных (мы используем mysql).
Я хочу перенести сразу все базы данных в автоматическом режиме. Итак, я подумал, что было бы неплохо создать еще один проект в моем решении, который мог бы подключиться к моему менеджеру баз данных, получить все базы данных и начать выполнять миграцию для каждой.
Проект миграции - это консольное приложение. Я добавил проект webapi в качестве ссылки. И у меня для начала есть что-то вроде этого:
using System;
using AuthWebApi.Contexts;
using Microsoft.EntityFrameworkCore;
namespace DoMigrations
{
class Program
{
static void Main(string[] args)
{
var optionsBuilder = new DbContextOptionsBuilder<ApplicationDbContext>();
optionsBuilder.UseMySql("server=localhost;port=3306;database=auth;uid=root;password=123456");
using (ApplicationDbContext dbContext = new ApplicationDbContext(optionsBuilder.Options))
{
}
}
}
}
Когда я пытаюсь добавить миграцию с помощью команды:
dotnet ef migrations add Initial --context ApplicationDbContext
, я всегда получаю сообщение об ошибке:
No DbContext named 'ApplicationDbContext' was found.
Я попытался передать AuthWebApi.Contexts.ApplicationDbContext в качестве контекста в команде для добавления миграции, но происходит то же самое.
Возможно ли мигрировать из контекста приложения в другой проект в том же решение?