Ik heb een postgresql table die er ongeveer zo uitziet, met een uuid function als default value voor de id.
Als ik me niet vergis, en volgens https://www.postgresql.org/docs/9.3/static/ddl-default.html vergis ik me niet, worden default values overschreven indien die meegegeven worden.
Maar... Als ik dit doe:
krijg ik:
Weet iemand waarom dit misgaat en hoe ik dit kan oplossen? Als workarround kan ik de id achteraf overschrijven, maar da's geen mooie coding en het zou dan op heel veel plaatsen aangepast moeten worden. Terwijl het volgens mij gewoon zou moeten werken...
code:
1
2
3
4
5
6
7
| CREATE TABLE public.table ( id uuid NOT NULL DEFAULT functions.gen_random_uuid(), value_numeric numeric DEFAULT 0, value_text text, CONSTRAINT table_pkey PRIMARY KEY (id) ) |
Als ik me niet vergis, en volgens https://www.postgresql.org/docs/9.3/static/ddl-default.html vergis ik me niet, worden default values overschreven indien die meegegeven worden.
code:
[1
| A column can be assigned a default value. When a new row is created and no values are specified for some of the columns, those columns will be filled with their respective default values. |
Maar... Als ik dit doe:
code:
1
2
3
4
5
6
7
8
| FS.newRecord( ); FS.id = CFS.id; application.output("CFS " + CFS.id); application.output("pre save FS " + FS.id); databaseManager.saveData( FS ); databaseManager.refreshRecordFromDatabase(FS,1); application.output("post save " + FS.id); |
krijg ik:
code:
1
2
3
| CFS AA3CF893-79F4-44AF-AE12-DE5DE7FACFE4 pre save FS post save 9635CCA4-7FEF-4FA3-8E62-76146516F2BF |
Weet iemand waarom dit misgaat en hoe ik dit kan oplossen? Als workarround kan ik de id achteraf overschrijven, maar da's geen mooie coding en het zou dan op heel veel plaatsen aangepast moeten worden. Terwijl het volgens mij gewoon zou moeten werken...
Just me