更改列名 Sequilize

Abh*_*wal 1 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 });
Run Code Online (Sandbox Code Playgroud)

例如,我只想在最终的续集输出中通过上列中的 tour_name 更改 tour_title。我不希望对数据库列名称进行任何更改。

Dee*_*pak 13

仅在最终输出中更改列名

TableName.findAll({
  attributes: ['id', ['tour_title', 'tour_name']] /
})
.then((data) => {
 console.log(data);
});
Run Code Online (Sandbox Code Playgroud)

更改数据库中的列名

这可能对您有所帮助,请按照以下步骤操作

第 1 步:npm install -g sequelize-cli 安装 sequelize 命令行工具

第2步: sequelize migration: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');
  }
};
Run Code Online (Sandbox Code Playgroud)

第 4 步:在命令行中运行以下命令

sequelize db:migrate
Run Code Online (Sandbox Code Playgroud)

现在您的列名更改成功。