Я использую postgres + sequelize
const db = //db connection stuffs....
db.authenticate().then((err) => {
if (err) {
console.log('There is connection in ERROR.');
} else {
console.log('Postgres Client App Connection has been established successfully');
}
});
db.sync().then(() => {
console.log('Psql Client App Missing Table Created');
}, (err) => {
console.log('An error occurred while creating postgres client app table:', err.message);
});
Например, у меня есть несколько схем
- Public (схема по умолчанию)
- tenant1
- tenant2.,,.
- tenant100
У меня есть таблица с именами пользователей во всех моих схемах, включая общую схему
Я хочу добавить дополнительный столбец в мою пользовательскую таблицу
После добавления столбца, используя
ALTER TABLE ADD COLUMN .. больше из postgres docs.
внутри моего кода, я запускаю свой проект с помощью этого кода ниже:
db.sync({ force: true }).then(() => {
console.log('Psql Client App Missing Table Created');
}, (err) => {
console.log('An error occurred while creating postgres client app table:', err.message);
});
// Это успешно добавит мой столбец в таблицу внутри публичной схемы, без потери данных.
Но мои таблицы внутри других схем не изменились.
Как изменить это на всесхемы?
По postgres я могу сделать Alter table tenant1.users ... bla..bla, но как это сделать с sequelize?
Также я не хочу потерять свои данные.