Npg sql: Дискретность с направляющими между Database.Migrate и Database.EnsureCreated - PullRequest
0 голосов
/ 22 января 2020

В проекте netstandard20 я использую Npg sql .EntityFrameworkCore. PostgreSQL 3.1.0 и у меня возникла проблема с использованием Guid в качестве типа для моих первичных ключей. Если я использую Database.EnsureCreated() для создания схемы, столбцы первичного ключа создаются с типом данных uuid. Со всем тем же, кроме изменения его на использование Database.Migrate(), создаются все столбцы первичного ключа с типом данных text, а затем я получаю исключение: Npgsql.PostgresException : 42883: operator does not exist: text = uuid при попытке выполнить какие-либо операции.

Существует единая миграция в моем проекте для создания исходной базы данных. В этой миграции, а также в «моментальном снимке модели контекста», который создается автоматически, все столбцы первичного ключа определяются как Guid.

. Мне нужно использовать оба метода Database.Migrate() для создания базы данных. а также создайте столбцы Guid первичного ключа как uuid. Как я могу убедиться, что он создает столбцы правильно?

1 Ответ

0 голосов
/ 22 января 2020

Я нашел эту проблему и ответ после публикации моего вопроса. Это привело меня к правильному ответу: когда я создавал миграцию, я использовал sqlite. Мне нужно было отменить миграцию, созданную для этого поставщика данных, и восстановить ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...