javascript - 无法在 Sequelize 中使用类模型在数据库中创建表

标签 javascript mysql node.js orm sequelize.js

我正在使用带有 express 和 sequelize 的 node.js,我的数据库是 mysql。
我尝试创建文档中所写的类模型: https://sequelize.org/master/manual/model-basics.html 。我能够连接到数据库,但无法弄清楚如何将模型与数据库同步以创建表。这是我的用户模型:

const { DataTypes, Model } = require('sequelize');
const connection = require("../server");

export class User extends Model { }

User.init({
    id: {
        type: DataTypes.BIGINT,
        autoIncrement: true,
        primaryKey: true,
        unique: true,
        allowNull: false
    },
    username: {
        type: DataTypes.STRING,
        allowNull: false,
        unique: true,
    },
    password: {
        type: DataTypes.STRING,
        allowNull: false,
    },
    userType: {
        type: DataTypes.STRING,
        allowNull: false,
    }
}, {
    connection
});
这是我的 server.js:
const express = require("express");
const Sequelize = require("sequelize");

const app = express();
const port = 8080;

const connection = new Sequelize("coupons2", "root", "1234", {
    host: "localhost",
    dialect: "mysql"
})

connection.sync()
    .then(() => {
        console.log("Connection to DB was successful");
    })
    .catch(err => {
        console.error("Unable to connect to DB", err);
    });

app.listen(port, () => {
    console.log(`Server is running on port ${port}`);
})

module.exports = connection;
谢谢!

最佳答案

我想你忘了要求 Sequelize 如你上面提到的文档中所示

`const {Sequelize, DataTypes, Model } = require('sequelize');
如果您希望它由模型自动创建表,您可以在项目中使用 sequelize.sync
await sequelize.sync({ force: true });
console.log("All models were synchronized successfully.");

关于javascript - 无法在 Sequelize 中使用类模型在数据库中创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64062830/

相关文章:

javascript - 为什么 jQuery 在使用样式标签填充 iframe 时会删除 body 和 head 标签?

javascript - Visual Studio 2013 缓存旧版本的 .js 文件

php - 删除未关闭的 html 标签 - 同时将内容粘贴到带有 contenteditable 的 div

mysql - 将 mod_mysql、mod_xml 和 mod_zlib 添加到 apache

javascript - 异步加载 NPM 模块

javascript - Window.onload 没有被调用 [Ruby on Rails] [Vanilla Javascript]

java - 在 java 中执行 javascript - 打开 URL 并获取链接

mysql - 带有 WHERE 子句的更新语句

mysql - NodeJS 通过预准备语句抛出类似 mysql 查询的错误

javascript - 如何使用 Promise 等待异步 API 调用