我的帖子中有两个模式
- 公共//默认架构
- 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架构的表结构保持不变。
如何解决这个问题?
注意:我不想丢失表中的数据。
最后使用续集迁移实现了这一点
http://docs.sequelizejs.com/manual/tutorial/migrations.html
如果由于缺乏 Typescript 支持而无法使用 Sequelize 迁移,您可以回退到 Migra,它很容易使用。 https://djrobstep.com/docs/migra
您可以尝试将表创建为表查询。
create table first_user.tableName as table public.tableName;
它将使用更新的表结构以及数据创建表。
谢谢。。