Удаление или очистка таблиц при публикации SSDT - PullRequest
0 голосов
/ 22 мая 2018

Я могу просто быть глупым и пропустить что-то простое, но как мне сделать так, чтобы, когда я публикую свой проект SSDT, он либо очищал, либо отбрасывал таблицы в моей БД, фактически не устанавливая для параметра «CreateNewDatabase» значение true в моей публикациипрофиль.

У меня есть несколько вставок после развертывания, которые запускаются каждый раз, когда я публикую, что приводит к дублированию строк каждый раз.

1 Ответ

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

Просто чтобы уточнить, каждый раз, когда вы развертываете, вы хотите очистить содержимое всех таблиц, так как у вас есть множество операторов вставки в сценариях после развертывания для создания нужных вам данных, и вы хотите, чтобы таблицы были пустыми?

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

При этом, если вам не нужны никакие данные, вы находитесь в отличном положении, большинство проблем, с которыми мы сталкиваемся, - это попытка убедиться, что мы не удаляем какие-либо данные.данные случайно:)

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

Если таблицы имеютЕсли в строке более 2000 строк, операторы слияния могут оказаться неправильными, поэтому я просто удалил бы таблицу с усечением, прежде чем вставлять мои данные.

Надеюсь, я правильно понял вопрос:)

Ed

...