stable

Clone or download

Read-only

feat: FTS DB plugin uses UUID instead of auto-increment INT

The main goal is to introduce some extensions of the ForgeUpgrade BucketDB API to help convert existing tables and to provide a minimal API to work with UUIDs. The FTS DB plugin is an adequate playground to start deploying this type of change. The tables are relatively large but can be entirely reconstitued from scratch in case of issues. The forgeupgrade doing the change is written is an agressive way. For tables with critical data it is going to be preferable to keep the existing PK column without constraint and defaulting to NULL for new entries. Part of request #37592: Mitigate risks of data loss in DB Change-Id: I869f4d6a273c8bb0d25c5500055c1788ce2bae18

Modified Files

Name
M plugins/fts_db/db/install.sql +3 −3 Go to diff View file
A plugins/fts_db/db/mysql/2024/202404181615_move_project_id_to_main_table.php +52 −0 Go to diff View file
M plugins/fts_db/include/Index/SearchDAO.php +8 −7 Go to diff View file
M plugins/git/tests/integration/GitXmlImporterTest.php +1 −1 Go to diff View file
M src/common/DB/DataAccessObject.php +8 −10 Go to diff View file
A src/common/DB/DatabaseUUIDFactory.php +32 −0 Go to diff View file
A src/common/DB/DatabaseUUIDV7Factory.php +43 −0 Go to diff View file
A src/common/DB/UUID.php +39 −0 Go to diff View file
A src/common/DB/UUIDFromRamseyUUIDLibrary.php +45 −0 Go to diff View file
M src/common/ForgeUpgrade/Bucket/BucketDb.php +57 −8 Go to diff View file
M src/common/ForgeUpgrade/ForgeUpgrade.php +3 −2 Go to diff View file
M src/common/Plugin/PluginManager.php +1 −0 Go to diff View file
M src/common/Queue/DB/DBPersistentQueue.php +2 −2 Go to diff View file
M src/common/Queue/DB/DBPersistentQueueDAO.php +6 −7 Go to diff View file
M src/tuleap-cfg/Command/Docker/Tuleap.php +1 −0 Go to diff View file
M src/tuleap-cfg/Command/SetupForgeUpgradeCommand.php +1 −0 Go to diff View file
M src/tuleap-cfg/Command/SiteDeploy/ForgeUpgrade/SiteDeployForgeUpgradeCommand.php +1 −0 Go to diff View file
M src/tuleap-cfg/tuleap-cfg.php +1 −0 Go to diff View file
M src/www/admin/index.php +1 −0 Go to diff View file