powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как заскриптовать констрейнт с тем же именем если при ее создании имя не было указано
5 сообщений из 5, страница 1 из 1
Как заскриптовать констрейнт с тем же именем если при ее создании имя не было указано
    #37675351
Фотография Roust_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь заскриптовать таблицы через Powershell:

#DECLARE TIMESTAMP FOR THE FILES
$timestamp = Get-Date -Format yyyy-MM-dd
#SCRIPT
SL SQLSERVER:\SQL\"MyServer"\Databases\"MyDB"\Tables
$so = new-object Microsoft.SqlServer.Management.Smo.ScriptingOptions
$so.IncludeIfNotExists = 1
$so.DriPrimaryKey = 1
$so.DriForeignKeys = 0
$so.DriUniqueKeys = 1
$so.DriClustered = 1
$so.DriNonClustered = 1
$so.DriChecks = 1
$so.DriDefaults = 1
$so.Triggers = 1
$so.FullTextIndexes = 1
$so.ClusteredIndexes = 1
$so.NonClusteredIndexes = 1

dir | %{$_.Script($so) + " GO " | Out-File "Z:\MyDB\02_Tables $timestamp.sql" -Append}

в получившемся скрипте встречаются констрейнты:

IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DF__CompanyEn__IsLin__3962917A]') AND type = 'D')
BEGIN
ALTER TABLE [dbo].[CompanyEnhancedListing] ADD DEFAULT ((0)) FOR [IsLinkedToExternalUrl]
END

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

Можно ли сделать так, чтобы получившийся скрипт создавал констрейнт с таким же именем, в данно случае:
DF__CompanyEn__IsLin__3962917A

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

Спасибо.
...
Рейтинг: 0 / 0
Как заскриптовать констрейнт с тем же именем если при ее создании имя не было указано
    #37675354
kDnZP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roust_m, раздать кому попало по ушам, дабы не забывали. Проблему порешает.
...
Рейтинг: 0 / 0
Как заскриптовать констрейнт с тем же именем если при ее создании имя не было указано
    #37675359
Фотография Roust_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kDnZPRoust_m, раздать кому попало по ушам, дабы не забывали. Проблему порешает.

Проблема в том, что когда деплоймент не заработал, то давать по ушам поздно. Тем более при такой текучке всегда можно сказать, что это сделал девелопер, который месяц назад ушел. Я же не буду лазить по TFS и это проверять.
...
Рейтинг: 0 / 0
Как заскриптовать констрейнт с тем же именем если при ее создании имя не было указано
    #37675720
kDnZP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roust_mkDnZPRoust_m, раздать кому попало по ушам, дабы не забывали. Проблему порешает.

Проблема в том, что когда деплоймент не заработал, то давать по ушам поздно. Тем более при такой текучке всегда можно сказать, что это сделал девелопер, который месяц назад ушел. Я же не буду лазить по TFS и это проверять.
Поглядеть в TFS кто чекинил и раздать по ушам ему. А ответственному провести ревизию объектов.
* Пару раз проведенной воспитательной работы вполне учат аккуратности.
...
Рейтинг: 0 / 0
Как заскриптовать констрейнт с тем же именем если при ее создании имя не было указано
    #37676034
Фотография Roust_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kDnZPRoust_mпропущено...


Проблема в том, что когда деплоймент не заработал, то давать по ушам поздно. Тем более при такой текучке всегда можно сказать, что это сделал девелопер, который месяц назад ушел. Я же не буду лазить по TFS и это проверять.
Поглядеть в TFS кто чекинил и раздать по ушам ему. А ответственному провести ревизию объектов.
* Пару раз проведенной воспитательной работы вполне учат аккуратности.

Оззики не поддаются дрессировке... :(
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как заскриптовать констрейнт с тем же именем если при ее создании имя не было указано
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]