Upgrade question: Inheriting a new parent

Is there any danger of storage collisions when as part of an upgrade, I add a new parent contract (which has storage variables) to my implementation?

Specifically, I want to add AccessControlEnumerableUpgradeable.sol

The tests are passing but I'm nervous about hidden bugs that won't crop up until more data is stored in the proxies.

Are you using OpenZeppelin Upgrades Plugins to check for storage compatibility?

If your contract has storage variables and you add a new parent contract with storage variables, it will definitely corrupt your layout.

contract P {
    uint x;
}

contract V1 {
    uint y;
}

contract V2 is P {
    uint y;
}

Upgrading from V1 to V2 would corrupt the storage.