当我使用 NodeJS 和 Sequelize 连接访问数据库时,我想更改来自 Mysql 数据库的最终输出中的默认列名称。 我使用以下代码进行连接:-
import Sequelize from "sequelize";
let dbConnection = new Sequelize('DB', 'abc', 'password', {
host: '127.0.0.1',
port: 4242,
dialect: 'mysql',
dialectOptions: {
requestTimeout: 0,
},
});
const Listing = dbConnection.define('TableName', {
tour_title: {
type: Sequelize.STRING,
}
}, { freezeTableName: true, timestamps: false });
例如,我想仅在最终的 Sequelize 输出中将上列中的tour_title更改为tour_name。我不想对数据库列名称进行任何更改。
最佳答案
仅在最终输出中更改列名称
TableName.findAll({
attributes: ['id', ['tour_title', 'tour_name']] /
})
.then((data) => {
console.log(data);
});
更改数据库中的列名称
这可能对您有帮助,请按照以下步骤操作
第 1 步:npm install -g Sequelize-cli
安装sequelize命令行工具
第 2 步:sequelize 迁移:create --name rename-column-tour_title-to-tour_name-in-tabelname
第3步:打开新创建的迁移文件并添加以下代码
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.renameColumn('tableName', 'tour_title', 'tour_name');
},
down: (queryInterface, Sequelize) => {
return queryInterface.renameColumn('tableName', 'tour_name', 'tour_title');
}
};
第 4 步:在命令行中运行以下命令
sequelize db:migrate
现在您的列名称已成功更改。
关于node.js - 更改列名 Sequelize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55114922/