[英]Cannot find module 'sequelize/types'
任何人都知道為什么我會收到此錯誤這是我的代碼
"use strict";
const { DataTypes } = require("sequelize/types");
module.exports = {
up: async (queryInterface, DataTypes) => {
await queryInterface.createTable("dummytables", {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: DataTypes.INTEGER,
},
id: {
type: DataTypes.NUMBER,
},
first_name: {
type: DataTypes.STRING,
allowNull: false,
},
last_name: {
type: DataTypes.STRING,
allowNull: false,
},
});
},
down: async (queryInterface, DataTypes) => {
await queryInterface.dropTable("dummytables");
},
};
當我嘗試運行此命令sequelize db:migrate
並向我顯示ERROR: Cannot find module 'sequelize/types'
我的依賴文件
"dependencies": {
"@types/sequelize": "^4.28.9",
"express": "^4.17.1",
"mysql2": "^2.2.5",
"sequelize": "^6.5.0",
"sequelize-cli": "^6.2.0" }
任何解決方案都需要幫助
"use strict";
//const { DataTypes } = require("sequelize/types"); // Remove this line
module.exports = {
up: async (queryInterface, DataTypes) => {
await queryInterface.createTable("dummytables", {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: DataTypes.INTEGER,
},
id: {
type: DataTypes.NUMBER,
},
first_name: {
type: DataTypes.STRING,
allowNull: false,
},
last_name: {
type: DataTypes.STRING,
allowNull: false,
},
});
},
down: async (queryInterface, DataTypes) => {
await queryInterface.dropTable("dummytables");
},
};
更好的解決方法是像這樣安裝 Sequelize;
const Sequelize = require("sequelize");
然后像這樣使用它;
first_name: {
type: Sequelize.STRING,
allowNull: false,
},
您甚至可能不需要進行導入,因為 up() 會免費提供給您,您只需要將DataTypes
替換為Sequelize
。
async up(queryInterface, Sequelize) {
...
}
當您使用自動導入並導入sequelize/types時,可能會發生此錯誤,您可以在代碼中找到“sequelize/types”並在您應該更改的代碼中刪除它
const {DataTypes} = require('sequelize');
如果將第二行更改為;
const { DataTypes } = require("sequelize");
它應該可以正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.