node.js - Sequelize 同步和 Node.js 不创建表

标签 node.js

我正在学习node.js和sequelizer,我遇到了一个问题,即我使用Sequelizer创建了一个用户模型,不幸的是当我想在index.js中运行sequelizer.sync();它在控制台中向我显示结果,但它不会创建表格。

我的模型:

const Sequelize = require('sequelize');

const sequelize = require('../util/database');

const User = sequelize.define('user', {
    id: {
        type: Sequelize.INTEGER,
        autoIncrement: true,
        allowNull: false,
        primaryKey: true
    },
    name: {
        type: Sequelize.TEXT,
        allowNull: false
    },
    surname: {
        type: Sequelize.TEXT,
        allowNull: false
    }
});

module.exports = User;

我的数据库配置

const Sequelize = require('sequelize');
const sequelize = new Sequelize('node-nauka', 'root', '', {
    dialect: 'mysql',
    host: 'localhost'
});

module.exports = sequelize;

index.js

const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const defaultRoutes = require('./routes/default');
const sequelize = require('./util/database');

app.use(bodyParser.json());

app.use(defaultRoutes);
sequelize.sync().then(result => {
    console.log(result);
    app.listen(3000);
}).catch(err => {
    console.log(err);
});

同步结果:https://pastebin.com/rtxqkMtx 我怀念思路,试了几个数据库,效果一样,没有错误,但是也没有创建表。

最佳答案

就我而言,我只是将模型导入到 app.js

const sequelize = require("./src/Utils/database");
const User = require("./src/models/User");

sequelize
  .sync()
  .then((result) => {
    console.log(result);
  })
  .catch((err) => {
    console.log(err);
  });

@PawelC 你的代码和我的一样,所以它也适合你

谢谢

关于node.js - Sequelize 同步和 Node.js 不创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55503826/

相关文章:

node.js - AWS Lambda 中是否有类似 Request Scoped with Node 的东西?

node.js - JBoss AS 7 和 Node.js 炒作

javascript - 如何解决转发消息的问题?

javascript - 在 Nodejs 与 Redis 哈希中使用全局对象

javascript - NestJS 环境变量未定义

node.js - 呈现给 node.js 与浏览器的不同证书

javascript - 重试 Mocha 失败的测试

javascript - 使用 vanilla JS ajax 发送数据并使用 Node api 读取数据

php - 一对一私有(private)聊天使用套接字和 Laravel 5.1

javascript - 如何处理竞争条件