BUG: custom fields
You have a bug.
If you deactivate and then reactivate or update the plugin, the custom fields get added again... over, and over, and over. You need to write it in where it checks if the custom fields have already been added. If they're added to database, then do not add more.