【问题标题】:How to sync the table of postgresql schema - Sequelize ORM如何同步 postgresql 模式的表 - Sequelize ORM
【发布时间】:2018-09-24 11:13:26
【问题描述】:

我的 postgres 中有两个模式

  1. public //默认架构
  2. first_user

现在我在两个架构中都有相同的表

我更改了表结构,所以我想现在运行同步, 我使用以下方式同步表:

const db = new Sequelize(postgres_db, postgres_user, postgres_pwd, {
  host: postgres_host,
  port: 5432,
  dialect: 'postgres',
  logging: false,
});

db.sync().then(() => {
  console.log('Table Synced');
}, (err) => {
  console.log(err);
});

运行此操作后,我在公共架构中的表结构成功更改,但我的 first_user 架构的表结构保持不变。

如何解决?

注意:我不想丢失表中的数据。

【问题讨论】:

    标签: database postgresql sequelize.js


    【解决方案1】:

    最终使用 sequelize 迁移实现了这一点

    http://docs.sequelizejs.com/manual/tutorial/migrations.html

    【讨论】:

      【解决方案2】:

      如果由于缺少 Typescript 支持而无法使用 Sequelize 迁移,您可以回退到易于使用的 Migra。 https://djrobstep.com/docs/migra

      【讨论】:

        【解决方案3】:

        您可以尝试CREATE TABLE AS TABLE查询。

        create table first_user.tableName as table public.tableName;

        它将使用更新的表结构以及数据创建表。

        谢谢..

        【讨论】:

          猜你喜欢
          • 2017-03-18
          • 1970-01-01
          • 2011-08-13
          • 1970-01-01
          • 2017-07-18
          • 1970-01-01
          • 2018-01-23
          • 2019-05-11
          • 2015-06-16
          相关资源
          最近更新 更多