首页 > 解决方案 > Sequelize 表名更新

问题描述

我在 Postgres 中有一个表,对于 ORM,我正在使用 sequelize 我需要更新表名,所以我为此尝试了以下迁移

queryInterface.renameTable('table1', 'table2', { transaction }

但由于某种原因,它正在创建一个包含与表 1 相同数据的表 2 的新表,但表 1 仍以空白数据退出。此函数的行为是否正确,因此将添加删除查询。

标签: node.jspostgresqlsequelize.js

解决方案


对于那个用例,我通常依赖原始查询:

const { sequelize } = queryInterface;

await sequelize.query(
  `ALTER TABLE table1
   RENAME TO table2`,
  {
    type: QueryTypes.RAW,
    raw: true,
    transaction,
  },
);

推荐阅读