Airtable migration script errors (official script incorrect?)

Hi folks

I’m trying to migrate an Airtable base to Seatable (https://cloud.seatable.io) using the current migration script and the instructions at

But the script contains a lot of errors, which makes me wonder why no one has noticed this yet.

Line 49: The closing quotation mark is missing
Line 66 should be: base = Base(api_token, server_url)
Line 74 should be: links=links,

After these corrections, I can perform the first step of the migration (import-header).

But if I try the final migration (import-rows) I get the following error:

error: Error: line 90, in <module> import_rows() File "index.py", line 83, in import_rows convertor.convert_data() File "/usr/local/lib/python3.7/site-packages/seatable_api/convert_airtable.py", line 508, in convert_data self.delete_demo_rows() File "/usr/local/lib/python3.7/site-packages/seatable_api/convert_airtable.py", line 599, in delete_demo_rows self.batch_delete_rows(table_name, row_ids) File "/usr/local/lib/python3.7/site-packages/seatable_api/convert_airtable.py", line 727, in batch_delete_rows self.base.batch_delete_rows(table_name, row_id_split) File "/usr/local/lib/python3.7/site-packages/seatable_api/main.py", line 408, in batch_delete_rows return parse_response(response) File "/usr/local/lib/python3.7/site-packages/seatable_api/main.py", line 41, in parse_response raise ConnectionError(response.status_code, response.text) ConnectionError: [Errno 400] {"error_type":"param_row_ids_invalid","error_message":"param row_ids invalid"}

The error can’t be in my configuration - after all, the import of the headers and the first 10 entries works. What else could it be?

Grateful for any hint!
Greetings, Andreas

Thanks a lot for this report.

The fact that the article contains errors is embarassing and I apologize (as one of the authors of the article).

In our defence, we have a good excuse :wink: The original article is in German and it is automatically translated in other languages. It is actually the translation engine that inserts the errors.

Here just one example: The German word “Links” has a double meaning: the direction left and a (hyper)link. The translation engine seems to think that in this case the translation “Left” is accurate.

I should have tested the script more thoroughly. Sorry for the inconvenience.

We’ll manually amend the translation. For the time being, please copy-paste the script from the German version of the article.

As for the error message, the script seems to have a problem with the batch_delete method. I’ll investigate. For now, please remove the 10 test rows manually and then run the script in “import-rows” mode. This should work.

Thank you for the quick reply.

You should correct and test the script in the documentation as soon as possible. The Airtable migration script is a killer application in my eyes.

After deleting all test lines, the script runs through successfully. In this respect my problem is solved in principle.

Thanks and greetings,
Andreas

Addendum: P.S. The script terminated with an “the script runs too long” error. Obviously there are restrictions are not mentioned anywhere.

Please check the FAQ underneath the article.

image