MySQL > JDBC migration - Items table is not used for index but creates a new table called items

As part of the upgrade and persistence migration from old mysql to jdbc, you have to change the config to ensure it keeps your item mappings.

However, even if you use the recommended config


it uses an index table called items and not Items. As a result, everything is out of whack.
I assume this is not by-design?

To fix, you simply have to run the following in mysql query

truncate table items
insert INTO items

only to be run if your DB is case sensitive

Anyone else seen this happen?

To be sure, open an issue on GitHub.

yup, just added on there too. :+1:

1 Like

Thanks for creating the error report in GitHub. There are other people around discovery the same issue (see JDBC Mysql persistence in OH3 - #24 by cweitkamp).

Ah yes, so there are.
no problem in crating the bug. Thanks for the effort put in to the application!

1 Like


This happened for me also last night after upgrading, it took me more than an hour to clean up the mess after mixing data between old numbering and new numbering for items having the same value type.

Best regards,
Jacob Laursen