Почему tsqlt не поддерживает не пустые столбцы? - PullRequest
0 голосов
/ 17 мая 2018

После просмотра кода он кажется слишком простым:

в [tSQLt]. [Private_CreateFakeOfTable] change

CASE WHEN cc.IsComputedColumn = 1 ИЛИ id.IsIdentityColumn = 1

до

СЛУЧАЙ, КОГДА cc.IsComputedColumn = 1 ИЛИ id.IsIdentityColumn = 1 или c.is_nullable = 0

Это так просто, даже если сделать его условным для дополнительного параметра, чтоэто заставляет меня задуматься о том, что за обоснование не поддерживается из коробки.В настоящее время я испытываю желание изменить его, прежде чем начать его использовать, но подумал, что выясню почему - в случае, если последствия важны.

1 Ответ

0 голосов
/ 18 мая 2018

tSQLt делает все столбцы обнуляемыми в любой поддельной таблице. Это своего рода цель подделки стола.

Однако, похоже, вы ищете временное решение, чтобы сделать столбец необнуляемым, чтобы вы могли отловить ошибку. В этом случае я бы вручную изменил этот столбец на NOT NULL после фальсификации таблицы.

И чтобы ответить на ваш второй вопрос, нет внутренней технической причины не иметь переключателя для сохранения обнуляемости. До сих пор в этом никогда не было необходимости.

...