node.js - 更改列名 Sequelize

标签 node.js sequelize.js

当我使用 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/

相关文章:

postgresql - Sequelize 多对多自引用

node.js - 如何在 sequelize 中加入 4 个或更多表?

javascript - 如何在使用 Reactjs 时将数据写入 JSON 文件

node.js - NPM 注册表错误 503

node.js - Mongoose 复杂(异步)虚拟

node.js - 分配回对象时日期格式未更新 (YYYYMMDD)

javascript - 无法访问 node js 中 express.session 的登录值

node.js - Nodejs如何维持多个并发连接?

node.js - npm : Postinstall not running in docker

sequelize.js - 如何选择基于 Sequelize 模型的数组类型属性?