Browse Source
Merge pull request #463 from kmee/migration/import_odbc
Merge pull request #463 from kmee/migration/import_odbc
[FIX] import odbc to new apipull/769/head
Daniel Reis
8 years ago
committed by
GitHub
4 changed files with 104 additions and 118 deletions
-
96import_odbc/README.rst
-
21import_odbc/__init__.py
-
82import_odbc/__openerp__.py
-
23import_odbc/import_odbc.py
@ -0,0 +1,96 @@ |
|||||
|
.. 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. |
@ -1,24 +1,3 @@ |
|||||
# -*- coding: utf-8 -*- |
# -*- coding: utf-8 -*- |
||||
############################################################################## |
|
||||
# |
|
||||
# Daniel Reis |
|
||||
# 2011 |
|
||||
# |
|
||||
# This program is free software: you can redistribute it and/or modify |
|
||||
# it under the terms of the GNU Affero General Public License as |
|
||||
# published by the Free Software Foundation, either version 3 of the |
|
||||
# License, or (at your option) any later version. |
|
||||
# |
|
||||
# This program is distributed in the hope that it will be useful, |
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
||||
# GNU Affero General Public License for more details. |
|
||||
# |
|
||||
# You should have received a copy of the GNU Affero General Public License |
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
||||
# |
|
||||
############################################################################## |
|
||||
|
|
||||
from . import import_odbc |
from . import import_odbc |
||||
|
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: |
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue