powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / PowerDesigner 15. Model Changes
25 сообщений из 50, страница 2 из 2
PowerDesigner 15. Model Changes
    #36531778
Maymah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vika Vinner
Коллега - А вы на рабочей базе (без остановки) за секунду сколько наделаете делов в 100 млн записях - не считали? Само копирование данных в предлагаемом скрипте не устанавливает лок на базу, если внимательно посмотрите. До момента полного переноса всех данных ваш исходный объект находится в рабочем состоянии, а новый никто не видит. Потом происходит DROP TABLE - старая табличка исчезает - и значит никаких действий с ней быть не может. Потом переименовывается копия - и данные сохранены и объект на месте... Что здесь - в этом подходе - плохого ... никак не могу понять... Уж простите мою "женскую логику" ..

Вика, вы не совсем правы.

На рабочей базе никто во время продакшен тайма не будет менять таблицу, для этого есть профилакическое время установленное рагламентом. За секунду я дропну полностью весь столбец со 100млн записей или за 2 часа перелью данные, есть разница? Что касается переливки данных в 100млн строк. Вы пробовали сделать это так как предложил PD? простым инсертом? Не получится и за сутки, процесс выпадет в suspect и там будет ворочаться пока не умрет. В данном случае инсерт надо разбивать на отдельные части.

Как это нет лока таблицы? вы слышали об ескалации блокировок?

Хорошо, всё таки мы перелили данные. Теперь будем создавать индексы, на это уйдет тоже очень много времени.

О том, как распухнет транзакшен лог при инсерте 100млн записей лучше вообще промолчать.

Вот вам мужская логика - сделать всё за 1 сек или потерять массу времени из-за того что PD не умеет удалять констрейнты.

Послушаю контраргументы.
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36531809
Vika Vinner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maymah
Послушаю контраргументы.
Коллега я же Вам говорила - если Вы уверены в своих действиях - сделайте скрипт себе сами - запустите его - пусть он там всё сделает на ваших Данных, а Вы потом отсинхронизируете себе Вашу Модель... Всё что PowerDesigner и Sybase (ну и MS конечно) команда сделали - это сняли с себя ответственность за Ваши данные... Это не функциональность разработческих инструментов следить чтобы Вы гвозди кирпичом микроскопом не забивали Ваши пальцы - Вы и беспокойтесь ...
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36532237
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 19.03.2010 18:51, Vika Vinner wrote:
>
> Коллега я же Вам говорила - если Вы уверены в своих действиях - сделайте
> скрипт себе сами - запустите его - пусть он там всё сделает на ваших
> Данных, а Вы потом отсинхронизируете себе Вашу Модель... Всё что
> PowerDesigner и Sybase (ну и MS конечно) команда сделали - это сняли с
> себя ответственность за Ваши данные... Это не функциональность
> разработческих инструментов следить чтобы Вы гвозди кирпичом микроскопом
> не забивали Ваши пальцы - Вы и беспокойтесь ...

Я в любом случае после генерации скрипта буду смотреть на него и скорее всего править перед тем как выполнить. Для
удаления поля я бы все-таки не ходил через переименование таблицы, и меня бы устроила ситуация, когда генерируемый
PowerDesigner'ом скрипт надо было как можно меньше править. А сейчас он "перебдел" и мне прибавилось работы.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36532536
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vika Vinner wrote:

> ALTER TABLE - гарант целостности метадаты, а не объекта в целом. А что
> будет с датой - остается только гадать...

Ну-ну.

> Хорошие _администраторы_ знают что лучше данные скопировать в безопасное
> место прежде чем менять структуру базы.

Хорошие администраторы знают, что такое транзакции.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36533302
Vika Vinner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivХорошие администраторы знают, что такое транзакции.

Многие транзакции особенно на уровне DDL требуют перегрузки (удаления, замены, внесения новых значений ) данных - например удаление или добавления бита айдентити, какого нибудь констрейна (Дефолта, Ключа и так далее) И что же будет наш знающий администратор делать с такими транзакциями ? Правильно - всё напишет сам Или доверится тому что написали генераторы. Их же много
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36533316
Vika Vinner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но вот исходные данные - те что были в начале - если потеряны ввиду переделки и нет где их взять... Пиши: "Пропало"
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36535065
Maymah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vika VinnerНо вот исходные данные - те что были в начале - если потеряны ввиду переделки и нет где их взять... Пиши: "Пропало"

дба делятся на два типа - те которые делают бекапы, и те, которые будут их делать.
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36545226
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vika Vinner wrote:

> Многие транзакции особенно на уровне DDL требуют перегрузки (удаления,
> замены, внесения новых значений ) данных - например удаление или
> добавления бита айдентити, какого нибудь констрейна (Дефолта, Ключа и
> так далее)

Хинт: хорошие архитекторы тоже знают, что такое транзакции.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36561549
Kasper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maymah
Ты случайно не пытаешься удалить поле, у которое есть DEFAULT-значение?

Все работает правильно.
Удалите в модели DEFAULT и будет Вам счастье.
Требования к DEFAULT могут быть очень сложны и PD правильно делает, что не удаляет напрямую.
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36914969
Wizard2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov,

А загрузка доступна только для тех кто купил лицензию или можно и тем кто работает с пробной версией ?
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36914990
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 22.10.2010 17:03, Wizard2007 wrote:

> А загрузка доступна только для тех кто купил лицензию или можно и тем кто работает с пробной версией ?

Загрузка обновлений требует бесплатной регистрации.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36915015
Wizard2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov,

У меня похожая проблема.
При изменении таблицы (добавление новый полей со значениями по умолчанию, старые поля так же имели значения по умолчанию) PD 15 генерирует скрипт в котором нормально отработано удаление таблицы, переименование и перезаливка данных, только вот при создании таблицы MS SQL на старые значения по умолчанию ругается. Говорит , что в базе уже существует ограничение с таким именем. Т.е. с генерированный скрипт ни как не обрабатывает то что были старые ограничения ... . Как поступить в таком случае ?
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36915158
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 22.10.2010 17:18, Wizard2007 wrote:

> При изменении таблицы (добавление новый полей со значениями по умолчанию, старые поля так же имели значения по
> умолчанию) PD 15 генерирует скрипт в котором нормально отработано удаление таблицы, переименование и перезаливка данных,
> только вот при создании таблицы MS SQL на старые значения по умолчанию ругается. Говорит , что в базе уже существует
> ограничение с таким именем. Т.е. с генерированный скрипт ни как не обрабатывает то что были старые ограничения ... . Как
> поступить в таком случае ?

Если остаются какие-то объекты, мешающие пересозданию таблицы, то можно самостоятельно добавить их удаление на каком-то
этапе. Например, если дропается таблица, то может быть самостоятельно удалять значения по умолчанию, связанные с полями
этой таблицы, это будет корректно для MS SQL? Таблица дропается сриптом по пути Script\Objects\Table\Drop в свойствах
DBMS, туда и вставить.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36915256
Wizard2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov,

MS SQL в принципе все равно кто удали ограничение. Мне не все равно, потому как надо будет самостоятельно отслеживать их наличие и писать скрипты удаления на Script\Begin в каждой таблице, что не есть сильно радостно .
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36917441
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 22.10.2010 18:59, Wizard2007 wrote:

> MS SQL в принципе все равно кто удали ограничение. Мне не все равно, потому как надо будет самостоятельно отслеживать их
> наличие и писать скрипты удаления на Script\Begin в каждой таблице, что не есть сильно радостно.

Необязательно в Script\Begin, можно для всех сразу изменить скрипт по пути Script\Objects\Table\Drop в свойствах DBMS.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36918691
Wizard2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov,
PD 15.2 нет тут такого пути :(. Есть только каталоги приведенные ниже.
License Agreements\
Documentation\
Examples\
ShellNew\
Nmap Files\
Ole Automation\
Icons\
ThirdPartyLegal\
Add-ins\
Resource Files\
Tools\
testdata\
VB Scripts\
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36918701
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wizard2007Denis Popov,
PD 15.2 нет тут такого пути :(. Есть только каталоги приведенные ниже.

В самом PowerDesigner при открытой модели выбери пункт меню Database-> Edit current DBMS, после чего слева встань на пункт дерева Script\Objects\Table\Drop - справа будет скрипт, выполняемый для удаления таблицы. Его-то и можно изменить.
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36918797
Wizard2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov,
Там написано,
Код: plaintext
1.
2.
3.
4.
if exists (select  1 
            from  sysobjects
           where  id = object_id('[%QUALIFIER%]%TABLE%')
            and   type = 'U')
   drop table [%QUALIFIER%]%TABLE%

в скрипте удаления значения по умолчанию написано.
Код: plaintext
1.
2.
3.
4.
if exists (select  1 
   from  sysobjects where type = 'D'
   and name = %.q:DEFAULT%[ and user_name(uid) = %.q:OWNER%]
   )
   drop default [%QUALIFIER%]%DEFAULT%

Как мне написать , для всех ограничений '[%QUALIFIER%]%TABLE%' их необходимо удалить.
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36919882
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 25.10.2010 19:35, Wizard2007 wrote:

> Как мне написать , для всех ограничений '[%QUALIFIER%]%TABLE%' их необходимо удалить.

Спроси на форуме MSSQL, как написать скрипт на удаление для таблицы всех значений по умолчанию.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36919995
Wizard2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov,

а не будет ли это сильно уж жесткий костыль для такой операции ?
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36920153
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 26.10.2010 13:00, Wizard2007 wrote:

> а не будет ли это сильно уж жесткий костыль для такой операции ?

Я думаю, что наиболее правильный путь заключается в изменении проведения PowerDesigner'а от самого Sybase, но этот путь
более трудоемок.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36920470
Wizard2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov,
Наверное более правильно будет сделать вот так вот

MSSQLSRV2005::Script\Objects\Table\Rename
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
[%R%?[exec ]][execute ]sp_rename %OLDTABL%, %NEWTABL%

GO

if exists (select  1 
            from  sysobjects
           where  id = object_id('%OLDTABL%)
            and   type = 'U')
   drop table %OLDTABL%

Поскольку хитрый PD делает переименование таблицы, в результате которого данные автоматом попадают в новую таблицу, но при этом не удаляются ограничения значений по умолчанию. Они удаляются, только если удалить физически, что собственно и должен сделать кусок кода после GO.
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36925810
Wizard2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так не работает сделал как написано тут
Код: plaintext
http://fk-uran.com.ua/powerdesigner-error-while-delete-defaults-ms-sq/
. Конечно не сильно мне решение нравиться, но ограничение удаляет.
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36936836
Wizard2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov
On 26.10.2010 13:00, Wizard2007 wrote:

> а не будет ли это сильно уж жесткий костыль для такой операции ?

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


У вас при обновлении базы данных значение текущего identity не слетало. Есть у меня таблица. с полем identity. Данные из этой таблицы копируются в другую таблицу. глупо но тем не менее, после того как я удалил таблиц, создал таблицу , и перелил в нее данные у меня значение поля identity сбилось, вместо значения 122 в таблицу прописывалось значение 110. обнаружилось при ошибке копирования из первой таблицы во вторую. Проблем смог решит, только при помоши задания нового начального значения для свойства identity таблицы функцией

Код: plaintext
DBCC CHECKIDENT ( 'dbo.table1', RESEED,  121  )
.

как такого можно избежать в дальнейшем?
...
Рейтинг: 0 / 0
PowerDesigner 15. Model Changes
    #36937061
Wizard2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Vika Vinner wrote:

> ALTER TABLE - гарант целостности метадаты, а не объекта в целом. А что
> будет с датой - остается только гадать...

Ну-ну.

> Хорошие _администраторы_ знают что лучше данные скопировать в безопасное
> место прежде чем менять структуру базы.

Хорошие администраторы знают, что такое транзакции.


Для обновления из PD Он же тянет кучу таблиц, которые потом пересоздаются и в них переливаются данные. Что будет если данных будет много обновление будет длиться очень продолжительное время.
...
Рейтинг: 0 / 0
25 сообщений из 50, страница 2 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / PowerDesigner 15. Model Changes
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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