【问题标题】:Migrate data from SugarCRM to Odoo?将数据从 SugarCRM 迁移到 Odoo?
【发布时间】:2014-08-16 17:57:05
【问题描述】:

我在 SugarCRM 中有一个非常大的数据库。我正在考虑将该数据库迁移到 Odoo。我怎样才能做到这一点?我能看到的是 SugarCRM 和 Odoo 有完全不同的数据库模式,所以我想不出直接将数据从 SugarCRM 迁移到 Odoo。我将不得不在 Odoo 中手动导入条目。或者有没有可能以编程方式在 Odoo 中导入数据库?

【问题讨论】:

    标签: postgresql openerp etl sugarcrm odoo


    【解决方案1】:

    我正在从 Joomla 迁移到 Odoo。 Joomla 使用 MySQL,就像 SugarCRM 一样。我启动了一个 Python 脚本,它在 MySQL 上运行查询(通过MySQLdb),然后通过ERPpeek 将数据导入 Odoo,您可以将其单独使用,也可以作为库使用。

    借助 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)
    

    【讨论】:

      【解决方案2】:

      您需要的是一个提取-转换-加载系统,您可以在一个模式中获取数据,从数据库中提取数据,根据一系列角色对其进行转换,然后将其加载到新模式中。

      可以通过自定义脚本或 Talend Studio、Pentaho Kettle 和 CloverETL 等专用 ETL 工具手动完成 ETL。什么是合适的在很大程度上取决于源模式和目标模式的确切性质、它们有多“健全”、它们的文档记录如何、它们的规范化程度等。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-12-09
        • 1970-01-01
        • 1970-01-01
        • 2021-02-21
        • 2016-04-09
        • 2022-01-16
        • 1970-01-01
        相关资源
        最近更新 更多