기존 레거시 시스템을 nodejs 로 랩핑하고 있는데 mysql 내에서 BIGINT 타입으로 키를 사용하고 있었다.
문제는 javascript 특성상 BIGINT를 표현하지 못한다 ㅠㅜ(http://ecma262-5.com/ELS5_HTML.htm#Section_8.5)
막 삽질을 하고 있었는데 다행이 BIGINT를 String으로 처리해주는 옵션이 있어서 공유한다.
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'me',
password : 'secret',
supportBigNumbers : true,
bigNumberStrings : true
});
https://github.com/felixge/node-mysql
참고로 ORM 프레임워크(http://sequelizejs.com/docs/latest/usage#block-4-line-29)도 이러한 옵션을 잘 지원해준다^^