这是一个创建于 3880 天前的主题,其中的信息可能已经有所发展或是发生改变。
## 不能有Model的column
sequelize.define()里不能有'Model'的column,会报:
TypeError: Cannot read property 'Model' of undefined
## 1:N关系时创建出来的foreign key的类型不对,会固定是int(11)类型的
例如
var Class = Sequelize.define('class', {
no: {type:Sequelize.STRING,primaryKey:true},
})
var Student = Sequelize.define('student',{
no: Sequelize.INTEGER,
name: Sequelize.STRING,
})
定义关系:
Class.hasMany(Student, {foreignKey: 'class'})
Student.belongsTo(Class, {foreignKey: 'class'})
应该会在student的表上建立class的column,类型应该和Class.no的类型一致,但是它一直固定为
int(11),貌似是有问题的。
mysql> desc student;
+-------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+-------+
| no | int(11) | NO | PRI | NULL | |
| name | varchar(255) | YES | | NULL | |
| sex | enum('f','m') | YES | | NULL | |
| class | int(11) | YES | | NULL | |
+-------+---------------+------+-----+---------+-------+
大家有碰到过吗?