You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am trying to get orm setup on an existing database that leverages JSON columns. It looks like the object type is saving to hexadecimal values. However, Postgres 9.3 doesn't like this. Can we remove this buffer escaping (prob not since we have #378) or add a new type called json which doesn't encode into hex (a la #381)?
$ createdb buffer-test
$ psql buffer-test
psql (9.3.5)
Type "help"for help.
buffer-test=# CREATE TABLE items (item json);
CREATE TABLE
buffer-test=# INSERT INTO items (item) VALUES ('{}');
INSERT 0 1
buffer-test=# INSERT INTO items (item) VALUES ('\x7b7d');
ERROR: invalid input syntax fortype json
LINE 1: INSERT INTO items (item) VALUES ('\x7b7d');
^
DETAIL: Token "\" is invalid.CONTEXT: JSON data, line 1: \...
The text was updated successfully, but these errors were encountered:
I have added the datatype via defineType and it looks like it's working great:
// Add in the JSON data type (`object` works with binary/string columns)// https://github.com/dresende/node-orm2/wiki/Model-Properties#custom-typesdb.defineType('json',{datastoreType: function(prop){return'JSON';},// https://github.com/dresende/node-orm2/blob/v2.1.20/lib/Drivers/DML/postgres.js#L247-L256valueToProperty: function(value,prop){if(typeofvalue!=='object'){try{value=JSON.parse(value);}catch(err){value=null;}}returnvalue;},// https://github.com/dresende/node-orm2/blob/v2.1.20/lib/Drivers/DML/postgres.js#L317-L321propertyToValue: function(value,prop){if(value!==null){value=JSON.stringify(value);}returnvalue;}});
I am trying to get
orm
setup on an existing database that leverages JSON columns. It looks like theobject
type is saving to hexadecimal values. However, Postgres 9.3 doesn't like this. Can we remove this buffer escaping (prob not since we have #378) or add a new type calledjson
which doesn't encode into hex (a la #381)?The text was updated successfully, but these errors were encountered: