Я хочу иметь уникальное ограничение для столбца, который я собираюсь заполнить идентификаторами GUID. Однако мои данные содержат нулевые значения для этих столбцов. Как создать ограничение, которое допускает несколько нулевых значений с помощью Fluent migrator, не нарушая уникального ограничения?
Я нашел обходной путь для SqlServer здесь. Таким образом, можно использовать IfDatabase FluentMigrator и выполнять необработанный SQL для SqlServer. Но я хотел бы найти решение, которое не зависит от системы.
SQL-серверное решение:
IfDatabase("sqlserver").Execute.Sql("
CREATE UNIQUE NONCLUSTERED INDEX foo
ON dbo.bar(key)
WHERE key IS NOT NULL;
");