Take the array key into account when checking whether a KEY is up to date in DatabaseTableChangeProcessor
Previously updating a (pretty contrived) KEY that looks like this:
[…] UNIQUE KEY someIndex (`UNIQUE`)
to:
[…] KEY someIndex (`UNIQUE`)
would not do anything.
Converted into the `getData()` representation of the PHP DDL API these would
look like:
[ 'columns' => 'UNIQUE'
, 'type' => 'UNIQUE'
]
and
[ 'columns' => 'UNIQUE'
, 'type' => null
]
respectively.
Now taking the diff of the first array against the second array (subtracting
the second from the first) will remove *both* 'UNIQUE' values, resulting in an
empty difference, thus believing both KEYs are identical.
Fix this issue by using `array_diff_assoc` which will also take the key into
account.