Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / PowerDesigner / 10 сообщений из 10, страница 1 из 1
14.12.2016, 14:54
    #39366864
RuslanSharipov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PowerDesigner
Народ подскажите пожалуйста как в PowerDesigner при генерации скриптов для PostgreSQL сделать так чтобы имена таблиц и полей брались в кавычки, а также чтобы пользовательские типы были с указанием схемы(для типа схема указана):

при генерации получаю:
Код: sql
1.
2.
3.
create table dbo.Documents (
   Action               TAction             not null   
);



а хотелось бы
Код: sql
1.
2.
3.
create table dbo."Documents" (
   "Action"               dbo."TAction"             not null   
);
...
Рейтинг: 0 / 0
14.12.2016, 17:28
    #39367057
RuslanSharipov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PowerDesigner
кавычки добавил путем изменения каждого шаблона, остается вопрос как добавить кавычки к полям которые указаны в PRIMARY_KEY
Код: sql
1.
constraint PK_DOCUMENTS primary key ("Date_Create", "User_Create", "Date_Modify")


если в шаблоне используется primary key (%PKEYCOLUMNS%)
и как добавить схему и кавычки к типу поля(если это пользовательский тип)

Помогите пожалуйста
...
Рейтинг: 0 / 0
17.12.2016, 01:34
    #39369106
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PowerDesigner
RuslanSharipovесли в шаблоне используется primary key (%PKEYCOLUMNS%)
и как добавить схему и кавычки к типу поля(если это пользовательский тип)
Помогите пожалуйста
Если честно, не понимаю зачем усложнять себе жизнь этими кавычками, но если очень хочется:
Код: sql
1.
2.
3.
4.
5.
6.
alter table %TABLE%
   add [constraint %CONSTNAME% ]primary key (
.foreach_part(%PKEYCOLUMNS%, ",")
"%CurrentPart%"
.next(,)
)
...
Рейтинг: 0 / 0
18.12.2016, 12:42
    #39369538
RuslanSharipov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PowerDesigner
Роман ДынникRuslanSharipovесли в шаблоне используется primary key (%PKEYCOLUMNS%)
и как добавить схему и кавычки к типу поля(если это пользовательский тип)
Помогите пожалуйста
Если честно, не понимаю зачем усложнять себе жизнь этими кавычками, но если очень хочется:
Код: sql
1.
2.
3.
4.
5.
6.
alter table %TABLE%
   add [constraint %CONSTNAME% ]primary key (
.foreach_part(%PKEYCOLUMNS%, ",")
"%CurrentPart%"
.next(,)
)



Я правильно понимаю что шаблон к примеру PGSQL9::Script\Objects\PKey\Add :
Код: sql
1.
[constraint %CONSTNAME% ]primary key (%PKEYCOLUMNS%)


меняем на
Код: sql
1.
2.
3.
4.
[constraint %CONSTNAME% ]primary key (
.foreach_part(%PKEYCOLUMNS%, ",")
"%CurrentPart%"
.next(,))



Если да то выходит ошибка при генерации скриптов.

А по поводу усложнения жизни использованием кавычек - хочется иметь поля с именами к примеру User_Create, а не usercreate.

И подскажи пожалуйста как добавить имя схемы к пользовательскому типу в описании полей таблицы?
...
Рейтинг: 0 / 0
18.12.2016, 16:19
    #39369592
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PowerDesigner
RuslanSharipov,

Код: sql
1.
constraint PK_DOCUMENTS primary key ("Date_Create", "User_Create", "Date_Modify")


надо сказать, что этот ПК просто прекрасен (сарказм). Первичные ключи как правило не модифицируются, так что тут Date_Modify явно лишнее, не говоря об остальном.
...
Рейтинг: 0 / 0
18.12.2016, 17:29
    #39369613
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PowerDesigner
RuslanSharipovЯ правильно понимаю что шаблон к примеру PGSQL9::Script\Objects\PKey\Add :
Код: sql
1.
[constraint %CONSTNAME% ]primary key (%PKEYCOLUMNS%)


меняем на
Код: sql
1.
2.
3.
4.
[constraint %CONSTNAME% ]primary key (
.foreach_part(%PKEYCOLUMNS%, ",")
"%CurrentPart%"
.next(,))


Если да то выходит ошибка при генерации скриптов.

Да, так не будет работать.
Вариант следующий:
Создать новый шаблон для метакласса Key(добавленного в Profile) и использовать его в PGSQL9::Script\Objects\PKey\Add
Profile\Key\Templates\MyTpl
Код: vbnet
1.
2.
3.
.foreach_item(Columns)
 "%Code%"
.next(,)


PGSQL9::Script\Objects\PKey\Add
Код: vbnet
1.
[constraint %CONSTNAME% ]primary key (%MyTpl%)



p/s/
Я бы рекомендовал все же пересмотреть соглашение о наименованиях, возможно лучше просто использовать mixedcase: UserCreate.
Иначе вы затратите неоправданно много времени на работу по доработке шаблонов, ценность которой будет сомнительна.
Если у вас далее над слоем хранения строится веб-приложение, вы получите некоторые проблемы и там с этими символами подчеркивания их конвертацией и передачей по http.
...
Рейтинг: 0 / 0
19.12.2016, 09:04
    #39369806
RuslanSharipov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PowerDesigner
Роман Дынник
p/s/
Я бы рекомендовал все же пересмотреть соглашение о наименованиях, возможно лучше просто использовать mixedcase: UserCreate.


Насколько мне известно в PostreSQL либо usercreate либо "UserCreate", или я не прав?
...
Рейтинг: 0 / 0
19.12.2016, 09:08
    #39369807
RuslanSharipov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PowerDesigner
А что по поводу схемы? Как все таки в описании полей добавить имя схемы к пользовательскому типу?
...
Рейтинг: 0 / 0
19.12.2016, 10:02
    #39369841
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PowerDesigner
RuslanSharipovА что по поводу схемы? Как все таки в описании полей добавить имя схемы к пользовательскому типу?
примерно так:
PGSQL9::Script\Objects\Column\Add
Код: vbnet
1.
2.
%20:COLUMN% [%IDENTITY%?SERIAL:[%Domain%?%Domain.FullyQualifiedCode%:%DATATYPE%]][.Z:[ %NULL%][ %NOTNULL%][ default %DEFAULT%]
   [%CONSTDEFN%]]


RuslanSharipovНасколько мне известно в PostreSQL либо usercreate либо "UserCreate", или я не прав?
не знаю, вполне возможно.
...
Рейтинг: 0 / 0
19.12.2016, 10:26
    #39369853
RuslanSharipov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PowerDesigner
Роман Дынник, спасибо большое!!!
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / PowerDesigner / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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