FiveFortySeven - Leave `civigrant` inactive during inconsistent period
authorTim Otten <totten@civicrm.org>
Fri, 4 Mar 2022 00:37:38 +0000 (16:37 -0800)
committerTim Otten <totten@civicrm.org>
Fri, 4 Mar 2022 01:56:39 +0000 (17:56 -0800)
commit458e2d8e2c1689a2bd73ad3d4ef6d21bdff189a4
treefe1f01948a18eac3fc1852f68fde8b110de748d7
parent221b40dfbae49adb552bc1f243921543ad5ad27f
FiveFortySeven - Leave `civigrant` inactive during inconsistent period

Before
------

`migrateCiviGrant()` migrates some metadata from core-ownership to
core-extension-ownership...  and it ALSO activates the extension.  However,
the extension depends on other (possibly-inactive) extensions.  This
creates an inconsistent state (where active parts of `civigrant`
depend on inactive parts of `search_kit`).

In this inconsistent state, `ManagedEntities::reconcile()` fails.

After
-----

`migrateCiviGrant()` still migrates metadata.  However, it initially leaves
the extension inactive.  So `ManagedEntities::reconcile()` won't try to
setup these records.

After core schema is fully resolved, then it installs all necessary
extensions using normal mechanisms (with normal ordering).
CRM/Upgrade/Incremental/php/FiveFortySeven.php