postgresql 正在应用序列化迁移,但数据库没有更改

wnrlj8wa  于 2024-01-07  发布在  PostgreSQL
关注(0)|答案(1)|浏览(157)

我有一个简单的迁移,重命名一个列。迁移文件看起来像这样:

const tableName= 'aTable';

module.exports = {
    up: async (queryInterface, Sequelize) => {
        queryInterface.renameColumn(tableName, 'oldName', 'newName');
    },

    down: async (queryInterface, Sequelize) => {
        queryInterface.renameColumn(tableName, 'newName', 'oldName');
    },
};

字符串
当我应用迁移时,我得到以下输出:

== migrateFile: migrating =======
== migrateFile: migrated (0.071s)


然后当我使用模型时,我得到以下错误:

name: 'SequelizeDatabaseError',
  parent: error: column aTable.newName does not exist


如果我打印出列,我会看到oldName仍然在表中。其他迁移似乎也可以工作。
数据库是postgres。我开始查看日志看看能不能找到什么。
有没有什么方法我可以调试续集,以找出发生了什么事?有没有人有任何想法,什么可能会导致这个问题?

44u64gxh

44u64gxh1#

您只是忘记了等待重命名查询的结果,只需添加await即可:

module.exports = {
    up: async (queryInterface, Sequelize) => {
        await queryInterface.renameColumn(tableName, 'oldName', 'newName');
    },

    down: async (queryInterface, Sequelize) => {
        await queryInterface.renameColumn(tableName, 'newName', 'oldName');
    },
};

字符串

相关问题