On PR #21245, I added a db update routine to change wp_woocommerce_sessions primary key from session_key char(32) to session_id bigint auto_increment as dbDelta() is unable to handle primary key changes (see https://core.trac.wordpress.org/ticket/40357). But I didn't realize that dbDelta() was actually trying to add a new primary key to the table without droping the old key first and this was generating the following error:
```
WordPress database error Multiple primary key defined for query ALTER TABLE wp_woocommerce_sessions ADD PRIMARY KEY (`session_id`)
```
To prevent this error from happening, this commit moves the query that changes the primary key from db update routine to WC_Install::create_tables() so that it runs before dbDelta() is called.
This commit changes wp_woocommerce_sessions primary key to the bigint field session_id. Before it was the char(32) field session_key. Doing this change primarily as it should reduce the occurrence of deadlocks, but also because it is not a good practice to use a char(32) field as the primary key of a table.
This PR introduces a check on the permission_id FK to ensure that it is not added multiple times on upgrades. It also names the key specifically to ensure future changes to the key can be targeted properly and removes old keys that were added since 3.4.0.
* Add FK check before adding the FK. Also give the FK a name to avoid auto generated names and duplicate keys.
* Remove additional OR
* Remove additional OR
* Final FK check query
* Add foreign key cleanup routine to 3.4.3 db version
* Only check on named foreign key now that we have a cleanup routine in place, use specific phpcignore
* Rework formatting of SQL query
* Change way to fetch and add FK, can't use procedural SQL, needs to be done via statements.
* Add table name to lookup
* Only clean up FK on the wc_download_log table
* Remove erenouse bracket
'file' string as part of plugin information is used for activating plugin in combination with slug, or instead of slug in the case of plugins already installed. Defaults to [slug].php.