techouse / mysql-to-sqlite3

Transfer data from MySQL to SQLite
https://techouse.github.io/mysql-to-sqlite3/
MIT License
222 stars 31 forks source link

Can't have a name column in our table is this normal ? #25

Closed MaximeBrt closed 2 years ago

MaximeBrt commented 2 years ago

Describe the bug The programm is stoping because i have a name column in one of my table.

Expected behaviour I expect that the programm works normally even if i have this name column

Actual result It stopped

techouse commented 2 years ago

Hi @MaximeBrt and thanks for the report.

Can you provide some more detail as your description is somewhat vague. What's the column's name? Is it name or column? Also, please do provide the debug info as instructed in the template, e.g. running the tool with --debug.

Thanx

MaximeBrt commented 2 years ago

Yes so the debug info are the following : 2022-03-27 08:43:11 INFO Transferring table administrator 2022-03-27 08:43:11 ERROR SQLite failed creating table administrator: object name reserved for internal use: sqlite_autoindex_administrator_1 object name reserved for internal use: sqlite_autoindex_administrator_1

and i guessed it is because after the table administrator i have a table business. And one of the column in the table business is called "name"

techouse commented 2 years ago

This looks like an internal SQLite error and I'll need more info to dig.

Can you provide your full DDL?

MaximeBrt commented 2 years ago

DDL.zip

Is this ok ?

techouse commented 2 years ago

DDL.zip

Is this ok ?

Yes, it's ok.

As I suspected, your unique keys are the problem (check your db.sql file in that zip). They can't be named:

sqlite_autoindex_administrator_1
sqlite_autoindex_adress_1
sqlite_autoindex_business_1
sqlite_autoindex_char_management_1
sqlite_autoindex_client_1
sqlite_autoindex_country_management_1
sqlite_autoindex_decl_management_1
sqlite_autoindex_devices_management_1
sqlite_autoindex_individual_1
sqlite_autoindex_mess_management_1
sqlite_autoindex_order_1
sqlite_autoindex_order_product_1
sqlite_autoindex_product_1
sqlite_autoindex_promo_1
sqlite_autoindex_transport_management_1
sqlite_autoindex_var_management_1
sqlite_autoindex_zone_management_1

Just try and remove sqlite_autoindex as the prefix from them and run the app again.

MaximeBrt commented 2 years ago

Oh ok but i need this information for the following of my project like i need it to be auto indexed... never mind thank you for your time i'll find another solution to convert my database

techouse commented 2 years ago

SQLite does auto indexing a bit differently compared to MySQL. Check the docs here https://www.sqlite.org/optoverview.html#automatic_indexes