@mewmew

Объединение нескольких БД Postgres в одну без дубликатов?

Есть приложение написанное на python и которое использует базу данных postgres. Для взаимодействия с БД используется алхимия. Приложением пользуются локально на своих компьютерах.
Структура БД:
class Main(Base):
    __tablename__ = 'data_main'
    id = Column(BigInteger, primary_key=True)
    position = Column(String(250))
    surname = Column(String(30))
    name = Column(String(30))
    second_name = Column(String(30))
    birthday = Column(DateTime(),  nullable=True)

class Mainemail(Base):
    __tablename__ = 'data_mainemail'
    id = Column(BigInteger, primary_key=True)
    email = Column(String(254))
    main_id = Column(Integer(), ForeignKey('data_main.id'))

class Mainphone(Base):
    __tablename__ = 'data_mainphone'
    id = Column(BigInteger, primary_key=True)
    phone = Column(String(254))
    main_id = Column(Integer(), ForeignKey('data_main.id'))

Как объединить все базы в одну (без дублирования данных и со всеми связями) и в последующем обновить всем пользователям данные? Я реализовал это путем множества запросов и кучи проверок.
  • Вопрос задан
  • 251 просмотр
Решения вопроса 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
Репликации в PostgreSQL
Приведите все ключи к виду: [код пользователя], [код строки].
Удаление произведёте после слияния, с учётом приоритета пользователей.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы