javascript - Sequelize 迁移不会从模型中迁移多个字段
问题描述
我正在尝试将新表迁移到 Sequelize 在 PostgreSQL 9.4 上构建数据库。迁移后,该表不显示多个字段(第一个),我也无法使用我的 API 请求它。
我尝试使用 ES5 和 ES6 编写模型,撤消所有迁移并重新迁移,尝试使用不同的表手动编写模型
这是我的 index.js 用于 sequelize :
[...]
let sequelize;
if (config.use_env_variable) {
sequelize = new Sequelize(process.env[config.use_env_variable]);
} else {
sequelize = new Sequelize(
config.database, config.username, config.password, config
);
}
fs
.readdirSync(__dirname)
.filter((file) =>
(file.indexOf('.') !== 0) &&
(file !== basename) &&
(file.slice(-3) === '.js'))
.forEach((file) => {
const model = sequelize.import(path.join(__dirname, file));
db[model.name] = model;
});
Object.keys(db).forEach((modelName) => {
if (db[modelName].associate) {
db[modelName].associate(db);
}
});
db.sequelize = sequelize;
db.Sequelize = Sequelize;
module.exports = db;
这是我的表的模型文件(名为电影)
'use strict';
module.exports = (sequelize, DataTypes) => {
const Movies = sequelize.define('Movies', {
title: DataTypes.STRING,
year: DataTypes.INTEGER,
runtime: DataTypes.STRING,
genre: DataTypes.STRING,
plot: DataTypes.STRING,
documentary: DataTypes.BOOLEAN,
votes: DataTypes.INTEGER
}, {});
Movies.associate = function(models) {
// associations can be defined here
};
return Movies;
};
这是迁移文件:
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.createTable('Movies', {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
},
title: {
type: Sequelize.STRING
},
year: {
type: Sequelize.NUMBER
},
runtime: {
type: Sequelize.STRING
},
genre: {
type: Sequelize.STRING
},
plot: {
type: Sequelize.STRING
},
documentary: {
type: Sequelize.BOOLEAN
},
votes: {
type: Sequelize.NUMBER
},
createdAt: {
allowNull: false,
type: Sequelize.DATE
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE
}
});
},
down: (queryInterface, Sequelize) => {
return queryInterface.dropTable('Movies');
}
};
我希望有更多的字段而不仅仅是标题字段,但它总是创建只有“id、title、createdAt、updateAt”字段的电影。
解决方案
推荐阅读
- javascript - 如何在 javascript 中存储 API 响应数据以进行分析
- r - 在闪亮的数据表中进行活动重置排序或替换数据表按钮
- spring-boot - 即使添加了 ComponentScan 注释,控制器中也缺少 bean
- django - Django 在我的网站中没有显示 ValidationError
- git - 为什么 npx create-react-app 在 VS Code 中自动创建了一个名为 HeaderTwo 的分支
- node.js - 使用打字稿进行云函数查询
- javascript - 试图在商店频道禁用短信
- javascript - 有一种方法可以使用 DOMParser().parseFromString() 来创建元素 HTML,而不会创建标签,并且?
- python - 如何在 Python 中为图像添加轮廓?
- matlab - Matlab Greybox识别工具箱的问题