объединить три базы данных odoo (postgreSQL) в одну базу данных - PullRequest
0 голосов
/ 02 октября 2018

У меня есть 3 базы данных с:

  • одинаковыми таблицами
  • одинаковой схемой
  • разными данными

Я хочу объединить все3 базы данных в одну базу данных, и я хочу, чтобы odoo распознала базу данных результатов.

Я думаю, что для этого мне нужно скопировать данные каждой таблицы из каждой базы данных в цель, но, как вы знаете, odooпри хранении данных он использует первичный ключ автоинкремента для всех таблиц, и, когда я копирую эти таблицы, мне нужно синхронизировать идентификаторы внешних ключей, связанных с этими таблицами, так как я вижу, что, возможно, это единственная проблема, с которой я столкнусь.

Итак, моя просьба: мне нужен инструмент для автоматической синхронизации внешних ключей после того, как данные были перемещены в целевую базу данных.

(кратко: предложите мне кратчайший путь для выполненияработа).

1 Ответ

0 голосов
/ 06 октября 2018

Вам знакомы внешние идентификаторы Odoo (также именуемые xmlids)?Это своего рода указатели, которые хранятся в таблице с именем ir_model_data.xmlid является результатом объединения полей module и name с использованием точки в качестве разделителя и указывает на запись в таблице, соответствующую полю model, которая также имеет id, равныйзначение поля res_id.

Итак, напишите скрипт, который соединяется с 3 базами данных и, одна таблица за раз, берет запись, проверяет, существует ли она в двух других базах данных, назначает внешнююумным образом идентифицируйте его и распространяйте в других базах данных, имеющих такую ​​же запись.

Затем экспортируйте таблицы с помощью функции экспорта Odoo из двух баз данных и загрузите их в третью.

Обязательно сначала делайте резервные копии баз данных и никогда не работайте с исходными базами данных, а с копиями.

Отказ от ответственности: этот подход может работать, а может и не работать, в зависимости от сложности вашей базы данных, содержащиеся в ней данныетам и ваши алгоритмы, чтобы определить, существует ли запись в других базах данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...