Перенос базы данных с помощью ApplicationDbContext из другого проекта - PullRequest
0 голосов
/ 10 июля 2020

Я заканчиваю работу над своим веб-приложением 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 в качестве контекста в команде для добавления миграции, но происходит то же самое.

Возможно ли мигрировать из контекста приложения в другой проект в том же решение?

...