728x90
Nodejs 에 Orm을 적용하기 위해 Sequelize 를 썼음
겪었던 문제점
1. Table 의 이름에 자꾸 's' 가 붙는다
- 분명 model 의 이름을 apiLog_luna 라고 작성을 했으나 Sequelize 실행이 된 후에는 자꾸 apiLog_lunas 가 되어버렸다.
- 검색해서 찾아본 결과 Sequelize는 설정한 table 이름에서 's' 를 자동으로 붙여준다 한다.
- 이걸 해결하는 방법은 module을 define 할때 설정을 추가하면 원래 Table 이름으로 실행이 가능
module.exports = (sequelize, DataTypes) => {
const apiLog_luna = sequelize.define('apiLog_luna', {
sessionId: {
type: DataTypes.STRING(20),
allowNull: false,
},
createdAt: {
type: DataTypes.DATE,
allowNull: false,
},
user_id: {
type: DataTypes.STRING,
allowNull: false,
} },
{
underscored: false,
freezeTableName: true,
freezeColumnName: true,
timestamps: false,
tableName: 'apiLog_luna',
});
return apiLog_luna;
};
freezeTableName: True 를 추가하면 된다.