EFCore, возможно ли сгенерировать скрипт миграции без запуска проекта? - PullRequest
0 голосов
/ 18 марта 2019

Я много гуглил, но не нашел никакой полезной информации по этому вопросу.

В настоящее время я делаю систему плагинов, каждый плагин .Net Core 2.2 ClassLibrary проект.

В одном плагине будет создан новый DbContext.Чтобы иметь возможность развертывания в производственной среде, мне нужно создать сценарий миграции.Но я просто не могу вызвать Add-Migration или Script-Migration без запуска проекта.

Наконец, мы придумали фиктивный проект запуска только для генерации сценария.Однако скрипт не содержит никакой информации о соединении:

IF OBJECT_ID(N'[__EFMigrationsHistory]') IS NULL
BEGIN
CREATE TABLE [__EFMigrationsHistory] (
    [MigrationId] nvarchar(150) NOT NULL,
    [ProductVersion] nvarchar(32) NOT NULL,
    CONSTRAINT [PK___EFMigrationsHistory] PRIMARY KEY ([MigrationId])
);
END;

GO

CREATE TABLE [Blogs] (
    [BlogId] int NOT NULL IDENTITY,
    [Url] nvarchar(max) NULL,
    CONSTRAINT [PK_Blogs] PRIMARY KEY ([BlogId])
);

-- omit some similar code

CREATE INDEX [IX_Posts_BlogId] ON [Posts] ([BlogId]);

GO

INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion])
VALUES (N'20190318085448_InitialCreate', N'2.2.3-servicing-35854');

GO

Я не понимаю смысла в запуске проекта.Есть ли обходной путь?Спасибо.

...