Skip to Content

Contributors

Legacy system migration question

Hello,

I am working on a migration from legacy database-based system. The system 
models the entities quite similarly to Odoo (database-level wise). There are 
contacts, sale orders (and corresponding lines). invoices (and corresponding 
lines), products, purchase orders (and corresponding lines), stock levels, ...

Now I would like to prepare something that would let me ease the transfer of 
the data. One thing would be preparing exports that are easily importable. 
However there would be more than 20 of them. Another idea was to use 
Components/Connectors maybe and gradually add things. For that some hierarchy 
would be needed. Like first we do contacts, then we do product categories, then 
products, then sale orders, then sale order lines, then ...

Now I would like to prevent importing thing that are already imported. The 
reason being is there are many records (in the magnitude of tens of thousands) 
of products, contacts, ... In the source database there are timestamps so it 
is possible to detect and select new/modified records.

What I want to achieve is:
*) gradually improving the imports with more information from source system
*) prevent the necessity on cutover day to import everything as this would be 
a long process

Any suggestions/ideas are welcome.

Best regards

	Radovan Skolnik



by Radovan Skolnik - 09:50 - 31 Mar 2022

Follow-Ups

  • Re: Legacy system migration question
    Hi,
    
    yes - something like that. Odoo won't be used parallel to the old system. It's 
    just there are many different kinds of objects with many records so I do not 
    want to spend 2 days on cutover day exporting and importing the data.
    
    My idea is something like incremental import. Incremental in the meaning of 
    not only records but also objects.
    
    So I'd first configure importing users - fiddling with it till work as expected. 
    On next run it would only import/update new/updated records.
    When that is done I'd continue to let's say contacts. Etc...
    
    I have some kind of client/server in mind. Odoo being server where I'd be 
    configuring what should be fetched, mapped, imported. Small client where the 
    source data is that would be serving data according to Odoo's requests...
    
    Best regards
    
    	Radovan
    
    On piatok 1. apríla 2022 9:31:45 CEST Rémi CAZENAVE - Le Filament wrote:
    
    > Hi Radovan,
    
    > 
    
    > I understand from your description that tour source database will be kept in
    
    > parallel and would still be used operationnally ?
    
    > 
    
    > We had somehow a similar request to retrieve daily legacy databases updates
    
    > in Odoo. The legacy system provided daily FTP export of tables (since they
    
    > did not want to provide direct database access). You can find what we did
    
    > here : https://sources.le-filament.com/lefilament/cgscop/cgscop_riga_import
    
    > 
    
    > 
    
    > Best Regards,
    
    > Rémi CAZENAVE
    
    > SCOP Le Filament
    
    > 
    
    > 
    
    > 
    
    > Le March 31, 2022 7:52:12 PM UTC, Radovan Skolnik <radovan@skolnik.info> a
    
    > écrit : Hello,
    
    > 
    
    > I am working on a migration from legacy database-based system. The system
    
    > models the entities quite similarly to Odoo (database-level wise). There are
    
    > contacts, sale orders (and corresponding lines). invoices (and
    
    > corresponding lines), products, purchase orders (and corresponding lines),
    
    > stock levels, ...
    
    > 
    
    > Now I would like to prepare something that would let me ease the transfer of
    
    > the data. One thing would be preparing exports that are easily importable.
    
    > However there would be more than 20 of them. Another idea was to use
    
    > Components/Connectors maybe and gradually add things. For that some
    
    > hierarchy would be needed. Like first we do contacts, then we do product
    
    > categories, then products, then sale orders, then sale order lines, then
    
    > ...
    
    > 
    
    > Now I would like to prevent importing thing that are already imported. The
    
    > reason being is there are many records (in the magnitude of tens of
    
    > thousands) of products, contacts, ... In the source database there are
    
    > timestamps so it is possible to detect and select new/modified records.
    
    > 
    
    > What I want to achieve is:
    
    > *) gradually improving the imports with more information from source system
    
    > *) prevent the necessity on cutover day to import everything as this would
    
    > be a long process
    
    > 
    
    > Any suggestions/ideas are welcome.
    
    > 
    
    > Best regards
    
    > 
    
    > 	Radovan Skolnik
    
    > 
    
    > 
    
    > 
    
    > 
    
    > _______________________________________________
    
    > Mailing-List: https://odoo-community.org/groups/contributors-15
    
    > Post to: mailto:contributors@odoo-community.org
    
    > Unsubscribe: https://odoo-community.org/groups?unsubscribe
    
    > 
    
    > 
    
    > _______________________________________________
    
    > Mailing-List: https://odoo-community.org/groups/contributors-15
    
    > Post to: mailto:contributors@odoo-community.org
    
    > Unsubscribe: https://odoo-community.org/groups?unsubscribe
    
    
    
    
    

    by Radovan Skolnik - 09:45 - 1 Apr 2022
  • Re: Legacy system migration question

    Hi Radovan,

    I understand from your description that tour source database will be kept in parallel and would still be used operationnally ?

    We had somehow a similar request to retrieve daily legacy databases updates in Odoo. The legacy system provided daily FTP export of tables (since they did not want to provide direct database access).
    You can find what we did here : https://sources.le-filament.com/lefilament/cgscop/cgscop_riga_import


    Best Regards,
    Rémi CAZENAVE
    SCOP Le Filament

    Le March 31, 2022 7:52:12 PM UTC, Radovan Skolnik <radovan@skolnik.info> a écrit :
    Hello,
    
    I am working on a migration from legacy database-based system. The system 
    models the entities quite similarly to Odoo (database-level wise). There are 
    contacts, sale orders (and corresponding lines). invoices (and corresponding 
    lines), products, purchase orders (and corresponding lines), stock levels, ...
    
    Now I would like to prepare something that would let me ease the transfer of 
    the data. One thing would be preparing exports that are easily importable. 
    However there would be more than 20 of them. Another idea was to use 
    Components/Connectors maybe and gradually add things. For that some hierarchy 
    would be needed. Like first we do contacts, then we do product categories, then 
    products, then sale orders, then sale order lines, then ...
    
    Now I would like to prevent importing thing that are already imported. The 
    reason being is there are many records (in the magnitude of tens of thousands) 
    of products, contacts, ... In the source database there are timestamps so it 
    is possible to detect and select new/modified records.
    
    What I want to achieve is:
    *) gradually improving the imports with more information from source system
    *) prevent the necessity on cutover day to import everything as this would be 
    a long process
    
    Any suggestions/ideas are welcome.
    
    Best regards
    
    	Radovan Skolnik
    
    
    

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by Rémi Cazenave - 09:27 - 1 Apr 2022
  • Re: Legacy system migration question
    Radovan
    I did something similar some years ago. However for a system with mostly Contacts, events and documents.
    What I did, was using odoorpc.
    If you are interested, I can dig out my old code for you as an idea.
    Robert

    On 31.03.22 21:52, Radovan Skolnik wrote:
    Hello,
    
    I am working on a migration from legacy database-based system. The system 
    models the entities quite similarly to Odoo (database-level wise). There are 
    contacts, sale orders (and corresponding lines). invoices (and corresponding 
    lines), products, purchase orders (and corresponding lines), stock levels, ...
    
    Now I would like to prepare something that would let me ease the transfer of 
    the data. One thing would be preparing exports that are easily importable. 
    However there would be more than 20 of them. Another idea was to use 
    Components/Connectors maybe and gradually add things. For that some hierarchy 
    would be needed. Like first we do contacts, then we do product categories, then 
    products, then sale orders, then sale order lines, then ...
    
    Now I would like to prevent importing thing that are already imported. The 
    reason being is there are many records (in the magnitude of tens of thousands) 
    of products, contacts, ... In the source database there are timestamps so it 
    is possible to detect and select new/modified records.
    
    What I want to achieve is:
    *) gradually improving the imports with more information from source system
    *) prevent the necessity on cutover day to import everything as this would be 
    a long process
    
    Any suggestions/ideas are welcome.
    
    Best regards
    
    	Radovan Skolnik
    
    
    

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe



    by Robert Rottermann - 07:35 - 1 Apr 2022