Luis Felipe Mileo
9 years ago
committed by
Hendrix Costa
2 changed files with 92 additions and 53 deletions
@ -0,0 +1,92 @@ |
|||
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg |
|||
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html |
|||
:alt: License: AGPL-3 |
|||
|
|||
=========================================== |
|||
Import data from SQL and ODBC data sources. |
|||
=========================================== |
|||
|
|||
This module allows import data directly from other databases. |
|||
|
|||
Usage |
|||
===== |
|||
|
|||
Go to: Administration module, menu Configuration -> Import from SQL. |
|||
|
|||
Features: |
|||
* Fetched data from the databases are used to build lines equivalent to |
|||
regular import files. These are imported using the standard "import_data()" |
|||
ORM method, benefiting from all its features, including xml_ids. |
|||
* Each table import is defined by an SQL statement, used to build the |
|||
equivalent for an import file. Each column's name should match the column |
|||
names you would use in an import file. The first column must provide an |
|||
unique identifier for the record, and will be used to build its xml_id. |
|||
* SQL columns named "none" are ignored. This can be used for the first column |
|||
of the SQL, so that it's used to build the XML Id but it's not imported to |
|||
any OpenERP field. |
|||
* The last sync date is the last successfull execution can be used in the SQL |
|||
using "%(sync)s", or ":sync" in the case of Oracle. |
|||
* When errors are found, only the record with the error fails import. The |
|||
other correct records are commited. However, the "last sync date" will only |
|||
be automaticaly updated when no errors are found. |
|||
* The import execution can be scheduled to run automatically. |
|||
|
|||
Examples: |
|||
* Importing suppliers to res.partner: |
|||
SELECT distinct |
|||
[SUPPLIER_CODE] as "ref" |
|||
, [SUPPLIER_NAME] as "name" |
|||
, 1 as "is_supplier" |
|||
, [INFO] as "comment" |
|||
FROM T_SUPPLIERS |
|||
WHERE INACTIVE_DATE IS NULL and DATE_CHANGED >= %(sync)s |
|||
|
|||
* Importing products to product.product: |
|||
SELECT PRODUCT_CODE as "ref" |
|||
, PRODUCT_NAME as "name" |
|||
, 'res_partner_id_'+SUPPLIER_ID as "partner_id/id" |
|||
FROM T_PRODUCTS |
|||
WHERE DATE_CHANGED >= %(sync)s |
|||
|
|||
|
|||
Known issues / Roadmap |
|||
====================== |
|||
Improvements ideas waiting for a contributor: |
|||
* Allow to import many2one fields (currently not supported). Done by adding a |
|||
second SQL sentence to get child record list? |
|||
* Allow "import sets" that can be executed at different time intervals using |
|||
different scheduler jobs. |
|||
* Allow to inactivate/delete OpenERP records when not present in an SQL |
|||
result set. |
|||
|
|||
Bug Tracker |
|||
=========== |
|||
|
|||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-tools/issues>`_. |
|||
In case of trouble, please check there if your issue has already been reported. |
|||
If you spotted it first, help us smashing it by providing a detailed and welcomed feedback |
|||
`here <https://github.com/OCA/server-tools/issues/new?body=module:%20import_odbc%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. |
|||
|
|||
|
|||
Credits |
|||
======= |
|||
|
|||
Contributors |
|||
------------ |
|||
|
|||
* Daniel Reis <dreis.pt@gmail.com> |
|||
* Maxime Chambreuil <maxime.chambreuil@savoirfairelinux.com> |
|||
|
|||
|
|||
Maintainer |
|||
---------- |
|||
|
|||
.. image:: http://odoo-community.org/logo.png |
|||
:alt: Odoo Community Association |
|||
:target: http://odoo-community.org |
|||
|
|||
This module is maintained by the OCA. |
|||
|
|||
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. |
|||
|
|||
To contribute to this module, please visit http://odoo-community.org. |
Write
Preview
Loading…
Cancel
Save
Reference in new issue