如题,本来库里只有pets,没有users
model里加载了pet和user,然后启动init_db,记录是pet和user都过了一遍,但是查mysql只有pets没有users
看官方文档,也只是简略的说明了一下sync()的功能,但是没有说具体细节
把db中sync前面加了段print
运行init后发现sync完全没有运行。。。只是运行了defineModel的部分而已
单独测试数据库创建部分是成功的
const Sequelize = require('sequelize'); const config = require('./config'); var sequelize = new Sequelize(config.database, config.username, config.password, { host: config.host, dialect: 'mysql', pool: { max: 5, min: 0, idle: 30000 } }); var User = sequelize.define('user', { id: { type: Sequelize.STRING(50), primaryKey: true }, name: Sequelize.STRING(100), gender: Sequelize.BOOLEAN, birth: Sequelize.STRING(10), createdAt: Sequelize.BIGINT, updatedAt: Sequelize.BIGINT, version: Sequelize.BIGINT }, { timestamps: false }); User.sync()
那么也就是说只要对接上了数据库,并且定义了model,拿这个model去执行sync方法就可以创建数据库表。
app.js中删除跟user有关的语句,单独执行插入pets,成功
说明app.js中的pet model是成功定义了的。那么user也是定义了的,在这里用user建表
报错,User和Pet没有sync方法,检查proto发现经过model加工的User和Pet与直接define的model不同
再往下搞不懂了
Sign in to make a reply
alienation
如题,本来库里只有pets,没有users
model里加载了pet和user,然后启动init_db,记录是pet和user都过了一遍,但是查mysql只有pets没有users
看官方文档,也只是简略的说明了一下sync()的功能,但是没有说具体细节
把db中sync前面加了段print
运行init后发现sync完全没有运行。。。只是运行了defineModel的部分而已
单独测试数据库创建部分是成功的
那么也就是说只要对接上了数据库,并且定义了model,拿这个model去执行sync方法就可以创建数据库表。
app.js中删除跟user有关的语句,单独执行插入pets,成功
说明app.js中的pet model是成功定义了的。那么user也是定义了的,在这里用user建表
报错,User和Pet没有sync方法,检查proto发现经过model加工的User和Pet与直接define的model不同
再往下搞不懂了