|
|
|
Как заскриптовать констрейнт с тем же именем если при ее создании имя не было указано
|
|||
|---|---|---|---|
|
#18+
Пытаюсь заскриптовать таблицы через 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 Я знаю, что если изначально констрейнт создать с определенным именем, то все будет ок. Однако иногда это забывают сделать и в итоге в тестовой среде и в продакшн разные имена получаются. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2012, 10:55 |
|
||
|
Как заскриптовать констрейнт с тем же именем если при ее создании имя не было указано
|
|||
|---|---|---|---|
|
#18+
Roust_m, раздать кому попало по ушам, дабы не забывали. Проблему порешает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2012, 10:58 |
|
||
|
Как заскриптовать констрейнт с тем же именем если при ее создании имя не было указано
|
|||
|---|---|---|---|
|
#18+
kDnZPRoust_m, раздать кому попало по ушам, дабы не забывали. Проблему порешает. Проблема в том, что когда деплоймент не заработал, то давать по ушам поздно. Тем более при такой текучке всегда можно сказать, что это сделал девелопер, который месяц назад ушел. Я же не буду лазить по TFS и это проверять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2012, 11:07 |
|
||
|
Как заскриптовать констрейнт с тем же именем если при ее создании имя не было указано
|
|||
|---|---|---|---|
|
#18+
Roust_mkDnZPRoust_m, раздать кому попало по ушам, дабы не забывали. Проблему порешает. Проблема в том, что когда деплоймент не заработал, то давать по ушам поздно. Тем более при такой текучке всегда можно сказать, что это сделал девелопер, который месяц назад ушел. Я же не буду лазить по TFS и это проверять. Поглядеть в TFS кто чекинил и раздать по ушам ему. А ответственному провести ревизию объектов. * Пару раз проведенной воспитательной работы вполне учат аккуратности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2012, 17:35 |
|
||
|
Как заскриптовать констрейнт с тем же именем если при ее создании имя не было указано
|
|||
|---|---|---|---|
|
#18+
kDnZPRoust_mпропущено... Проблема в том, что когда деплоймент не заработал, то давать по ушам поздно. Тем более при такой текучке всегда можно сказать, что это сделал девелопер, который месяц назад ушел. Я же не буду лазить по TFS и это проверять. Поглядеть в TFS кто чекинил и раздать по ушам ему. А ответственному провести ревизию объектов. * Пару раз проведенной воспитательной работы вполне учат аккуратности. Оззики не поддаются дрессировке... :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2012, 02:51 |
|
||
|
|

start [/forum/search_topic.php?author=Noname1&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
173ms |
get topic data: |
11ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 544ms |
| total: | 831ms |

| 0 / 0 |
