Как связать последовательность со столбцом в PowerDesigner?

Я использую powerdesigner 15.2 для моделирования базы данных postgresql, но я не могу связать последовательности с PK... прочитал в Интернете, что:

«Чтобы связать последовательность со столбцом, дважды щелкните запись столбца. Затем на вкладке «Общие» укажите имя последовательности».

но я уже сделал это...

Связанная последовательность

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

create sequence SQ_CARGO;

create table CARGO (
   ID                   INT4                 not null,
   NOME                 VARCHAR(20)          not null,
   ROLE                 VARCHAR(100)         not null,
   constraint PK_CARGO primary key (ID)
);

Текущая СУБД в Powerdesigner: PostgreSQL 8 (но я использую postgresql 9.4)

кто-нибудь знает, как это сделать? иначе я буду вынужден установить это вручную для каждой таблицы:

ALTER TABLE cargo ALTER COLUMN ID SET DEFAULT NEXTVAL('SQ_CARGO'::regclass);

person Igor Souza    schedule 10.07.2015    source источник
comment
я забыл прокомментировать, что Postgres 8 является последним вариантом Postgresql в моем Powerdesigner 15.2, но я использую postgresql 9.4 на своем компьютере.   -  person Igor Souza    schedule 10.07.2015


Ответы (3)


Чтобы решить эту проблему, я написал этот код и заменил в свойствах СУБД значение: (Script-> Objects-> Table-> Create).

create [%Temporary% ]table [%QUALIFIER%]%TABLE% ( %TABLDEFN% )
[%OPTIONS%];

.foreach_item(Columns)
    .if (%COLNNO%==1) && (%Primary% == TRUE) && (%SQNC% != "") 
        ALTER TABLE [%QUALIFIER%]%TABLE% ALTER COLUMN %COLUMN% SET DEFAULT
nextval('[%QUALIFIER%]%SQNC%')
    .endif 
.next(\n)

Воспользовавшись, у меня есть проблема, когда он генерирует создание кода ПОСЛЕДОВАТЕЛЬНОСТЬ.

Я не могу сгенерировать код с ВЛАДЕЛЬЦЕМ объекта префикса.

пример: код генерируется следующим образом:

CREATE SEQUENCE TABLE_SQ;

И он должен быть сгенерирован следующим образом:

CREATE SEQUENCE OWNER.TABLE_SQ;
person GBraL    schedule 17.07.2015

@Gilvan: Вы должны выбрать владельца в окне «Новая последовательность» в поле со списком «Владелец».

person Sérgio Sathler    schedule 21.07.2015

был баг! скачать новую версию и работает нормально.

person Igor Souza Andrade    schedule 28.09.2015