Tryton by default has a CSV import feature that can be used to import data.
Having said that I think the best is to create a proteus to read the data from the old database (or CSV if you prefer) and import it into tryton.
I’ve done a complete migration from OpenERP v5 to Tryton. Around 8 years of data was migrated which took around 12 hours. The script was taking the data from the old OpenERP database, did some shuffling and then inserted the data into Tryton. We also set up a base first by hand, like adding journals, company etc.
We were able to this migration because we understood how both OpenERP and Tryton worked. We knew almost each column in a table so the right data did go into the right place. However until this day (4 years later) sometimes quirks shows up when old data is viewed. We then look at it and fix it right in the database.
So if you are able to know the database layout of Nuclos and know how it works and you can match the columns with Tryton, I would create a script which takes the data right out of Nuclos and insert it into Tryton. This means that you are going through the Tryton logic layer which does some checks which can make things slower.
Instead of using proteus, you can also use a dedicated script for JSON-RPC. Search here on the forum, it is here somewhere. You can use that as a base to connect to Tryton. Using the script is much faster because it just takes the data and does not link it to other database tables as proteus does. But that was back in the days, maybe things are different now.
Lastly, take your time to craft a migration solution, test it, test it, test it, test it.
Do not understand this rational. The JSON-RPC api and proteus use the same methods, so there should be no performance difference.
Even just proteus can connect to database directly without the need of running a http server, so that should be faster that JSON-RPC.
For me the important point is to call al bussiness logic of tryton (proteus does it already) so all wrong data is fixed in the migration process.
I’ve done some migrations in the past that insert data directly at database layer (skipping bussines logic) which raised a lot of validations when using tryton due to migrated data that skipped validations.
I completly agree here. Testing is the most important part of the process.
Proteus is using the active-record which my script doesn’t. For example there is no link between sale order and it’s lines with the script, this lines are just a list of id’s. By using proteus you can easily access the underlying models, with my script you have to do a query again for that data. My script had no problem fetching 50000 records at once where proteus just stopped. So proteus does a lot for you but at a cost.
Just to mention that this was around version Tryton version 4.6.
I fully agree, when inserting data into Tryton, use it’s logic to validate the data. Sometimes you have to deliberately turn things off in some modules to get data through but then you know it. For example writing to records which have state ‘done’ which Tryton disallows. In that case you turn off the check. Sometimes you can fix it in the migration script by adding the record in a different state and then do an extra query to set the state right.
Just for my curiosity (I had a look at Nuclos years ago when evaluating solutions for an ERP implementation) - why cant it be upgraded?
As previous comments already stated, Tryton provides means of automating the import.
Preparation however is best done outside, taking the csv export from Nuclos, and replacing old values with new terms (e.g. for company code, plant name/number, Tax identifiers, chart of accounts etc). A spreadsheet is a wonderful tool for the same.