diff --git a/src/Scaffolding/PostgresReflector.php b/src/Scaffolding/PostgresReflector.php index a580c8d8e0338cb0d184f946d93963a8bb7912dd..fad5a5a06e09de34207285a20c98d17c143289c4 100644 --- a/src/Scaffolding/PostgresReflector.php +++ b/src/Scaffolding/PostgresReflector.php @@ -42,7 +42,12 @@ SQL $results = []; foreach($result->fetchAssoc('name') as $columnName => $columnInfo) { \assert($columnInfo instanceof \Dibi\Row); - $results[$columnName] = new Column($columnInfo['name'], $columnInfo['type'], $columnInfo['nullable'], $columnInfo['hasDefaultValue']); + $results[$columnName] = new Column( + $columnInfo['name'], + $columnInfo['type'], + $columnInfo['nullable'], + $columnInfo['hasDefaultValue'] xor $columnInfo['nullable'], // it has explicit default value or it has not, but it is nullable so `null` is its implicit default value – see https://gitlab.grifart.cz/grifart/tables/-/issues/9 + ); } return $results; }