Мигрировать данные из SugarCRM в Odoo?

У меня очень большая база данных в SugarCRM. Я думаю о переносе этой базы данных в Odoo. Как я могу это сделать? Я вижу, что SugarCRM и Odoo имеют совершенно разные схемы базы данных, поэтому я не могу думать о прямой миграции данных из SugarCRM в Odoo. Мне придется вручную импортировать записи в Odoo. Или есть возможность программного импорта базы данных в Odoo?

2 ответа

Я работаю над миграцией из Joomla в Odoo. Joomla использует MySQL, как SugarCRM. Я запустил скрипт Python, который выполняет запросы на MySQL (через MySQLdb), а затем передает данные в Odoo через ERPpeek, который можно использовать как автономно, так и в виде библиотеки.

С ERPpeek вы можете легко узнать, как работать со структурой данных Odoo.

Удобнее всего начать с самых простых данных, которые вы можете найти.

Вот небольшой код, который поможет вам начать. Это не работает, как есть, но я думаю, что это полезное начало:

from erppeekinit import *
import MySQLdb


def get_dict_cursor():
    db = MySQLdb.connect(host="localhost",
                         user="odoo_import",
                         passwd="",
                         db="sugarcrm")

    # DictCursor returns mysql rows as dictionary {column_name:value, ...}
    return db.cursor(MySQLdb.cursors.DictCursor)


def mysql2odoo(table, model_name):
    model = odoo.model(model_name)
    dict_cur.execute("SELECT * FROM " + table)

    for row in dict_cur.fetchall():

        if model.browse([....  ...]):
            data = {'name': ...
            }
            object = model.create(data)
        else:
            print 'skipping already imported product: ' + row['name']

dict_cur = get_dict_cursor()

table, model = ('your_sugar_crm_table', 'the_odoo.table')
mysql2odoo(table, model)

Вам нужна система извлечения-преобразования-загрузки, где вы берете данные в одной схеме, извлекаете их из БД, преобразуете их в соответствии с рядом ролей и загружаете их в новую схему.

ETL может быть выполнен вручную, с помощью пользовательских сценариев или специальных инструментов ETL, таких как Talend Studio, Pentaho Kettle и CloverETL. Что уместно, во многом зависит от точного характера исходной и целевой схем, насколько они "нормальные", насколько хорошо они документированы, насколько они нормализованы и т. Д.

Другие вопросы по тегам