Sequelize – 连接表从未创build
我一直在试图构build一个简单的“消息”应用程序。在给MongoDB一个尝试之后,我发现它最好用MySQL。
所以我不想用手写所有的表格/查询等,我想学习从头开始build立一个ORM,Ak Sequelize。
比方说,我有一个用户表:
var User = sequelize.define('user', { email: { type: Sequelize.STRING, validate: { isEmail: true //msg: "Email is invalid" } } }
和一个消息表:
var Message = sequelize.define('message', { message: {type: Sequelize.STRING}, sender: {type: Sequelize.STRING}, read: {type: Sequelize.BOOLEAN} }
每个用户可以有多个消息,每个消息可以有2个用户在对话中。
所以当我这样做:
User.hasMany(Message); Message.belongsToMany(User, {through: 'Conversation', foreign_key: 'id'}); User.sync(); Message.sync();
我期望一个名为Conversations …的交接表…持有user_id ..并且每个消息都有一个对话Conversation_id的引用,但显然它不是真的…
有谁知道正确的方法是什么?
谢谢!
对于创buildConversations
表,你需要同步所有: sequelize.sync();
。
- 数据库连接的最佳数量(node-mysql)
- 错误:连接ECONNREFUSED ON数据库查询
- 可以有很多function(超过10)来处理Node的asynchronous性质(特别是在添加到MySql数据库时)
- Node.js mysql包中的转义函数是否足够安全地查询mysql数据库(不使用预处理语句)?
- 将节点中的UUID转换为二进制文件
- Node.JS读取从MySQL的BLOB
- 如何在nodejs中使用promise执行两个mysql查询?
- 我应该何时打开/closures与数据库的连接? (MariaDB / node.js)
- MySQL与Sequelize:ER_BAD_DB_ERROR:未知的数据库