Take the array key into account when matching up FOREIGN KEYs in DatabaseTableChangeProcessor
Previously a FOREIGN KEY within the database that looks like this:
[…] FOREIGN KEY (someOtherUserID) REFERENCES wcf1_user (userID) […]
would match up a FOREIGN KEY definition like the following:
[…] FOREIGN KEY (userID) REFERENCES wcf1_user (userID) […]
Converted into the `getDiffData()` representation of the PHP DDL API these
would like:
[ 'columns' => 'someOtherUserID'
, 'referencedColumns' => 'userID'
, 'referencedTable' => 'wcf1_user'
]
and
[ 'columns' => 'userID'
, 'referencedColumns' => 'userID'
, 'referencedTable' => 'wcf1_user'
]
respectively.
Now taking the diff of the second array against the first array (subtracting
the first from the second) will remove *both* 'userID' values, resulting in an
empty difference, thus believing both FOREIGN KEYs are identical
Fix this issue by using `array_diff_assoc` which will also take the key into
account.