PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Pouvons-nous toujours récupérer la colonne de date sous forme de chaîne (varchar) avec knex et postgres ?

Le pilote node-postgres est la partie qui crée réellement les objets Date() à partir des données envoyées à partir des colonnes de date (https://node-postgres.com/features/types#date-timestamp-timestamptz )

Avec postgres, vous pouvez modifier les analyseurs de type node-pg comme décrit ici https://github.com /brianc/node-pg-types

L'oid du type de types de date qui est 1082 peut être récupéré avec la requête suivante

select typname, oid, typarray from pg_type where typname = 'date' order by oid;

Donc, pour remplacer le type de date à transmettre en tant que chaîne, il suffit de le faire avant de configurer votre connexion à la base de données (je suppose que l'on pourrait le faire par exemple dans knexfile.js):

var types = require('pg').types;
// override parsing date column to Date()
types.setTypeParser(1082, val => val);