Powerdesigner & Postgres

Tach tach,

wir evaluieren derzeit den Powerdesigner 15.

Wir haben versucht Testdaten zu erzeugen, was anscheinend ganz gut funktioniert, außer für bool-Werte. PD versucht nämlich immer 0/1 für false/true einzutragen, aber der Datentyp von PG sieht da ja ‘0’/‘1’ bzw. FALSE/TRUE, etc. vor und eben nicht 0/1 - kann man PD dazu bewegen, diesen Wert anzupassen? Bzw. kann man Postgres dazu bewegen auch 0/1 als F/T anzusehen?

Danke für jeden Hinweis!

Yanni

Du könntest das mit einem Trigger umwandeln.

Gruß Uwe

Nein, noch bevor der TRIGGER feuert funkt der Parser dazwischen, Du kannst nicht mit einem TRIGGER kapotte Eingabewerte CASTen oder sowas. Probier es…

Andreas

Um Dir mal zuvor zu kommen:

test=*# create table bool_test (b bool);
CREATE TABLE
Zeit: 1,191 ms
test=*# create or replace function trg_bool() returns trigger as $$begin raise notice 'bin hier'; return new; end; $$language plpgsql;
CREATE FUNCTION
Zeit: 0,497 ms
test=*# create trigger trg_mybool before insert on bool_test for each row execute procedure trg_bool();
CREATE TRIGGER
Zeit: 0,507 ms
test=*# insert into bool_test values (0);
ERROR:  column "b" is of type boolean but expression is of type integer
HINT:  You will need to rewrite or cast the expression.
test=!#

Wie man sieht, sieht man nix. Zumindest nix vom TRIGGER.

Andreas

ads=# create table boolean_test (data boolean);
CREATE TABLE
ads=# insert into boolean_test (data) values (1);
ERROR:  column "data" is of type boolean but expression is of type integer
LINE 1: insert into boolean_test (data) values (1);
                                  ^
HINT:  You will need to rewrite or cast the expression.
ads=# insert into boolean_test (data) values (1::boolean);
INSERT 0 1

Aber wenn PD dort 0/1 schreibt, ist PD kaputt.

(kenne das Tool allerdings nicht)

Habe gerade gesehen, dass man im ODBC ne Option setzen kann - werde das mal ausprobieren, über ODBC reichts mir ja schon :slight_smile: