I also like to extend my congratulations. This is a huge milestone. One of those things
invisible to many people, but which will proof to be extremely useful going forward.
Thank you !
On 14 Jul 2022, at 22:59, Der Umherirrende
read previous update news about the abstract schema on the mediawiki-l list under
The migration of mediawiki-core from sql schema file to the abstract schema finished in
May 2021, while the migration of WMF Deployed Extensions is still ongoing on the goal task
T261912 where 38 extensions with own database tables are listed.
But I am happy to write:
The migration of all WMF Deployed Extensions is now finished!
At the end there are 35 extensions affected and all now shipes a json file with the
schema defintion and the sql file is generated from the json file.
The most patch sets were merged this week and will be released with REL1_39.
To be able to provide the abstract schema file some extensions needs updates beforehand,
like standardise of timestamp columns or remove of foreign keys.
The new json files makes it easier to analyse the schemas now and find more optimisation
with automation, like duplicate indexes or missing primary keys.
A benefit of the abstract schema is also to provide a postgres and sqlite schema for free
for all these extensions.
It also easier for schema changes in the future to keep the schema file in sync and
hopefully gives a better support for third party users with postgres or sqlite.
[Disclaimer: Do not expect that the extension will work directly with postgres or sqlite.
There are some RDBMS differences needs to handle in the code, like different timestamp
formats on postgres, but feel free to patch the extension or fill bugs if you find issues,
where the differences are not addressed in the code.]
There are still tasks to fix for better integration of the abstract schema, like testing
in CI if the schema file and the generated sql files are in sync to avoid issues on
partial updates. This is only done for core at the moment, please take a deeper look,
when reviewing such patches on extensions, thanks.
Knowing that all extensions have one of the three supported rdbms schema makes it easier
to enable voting CI jobs on merge for postgres and sqlite in the future, but that needs
fixing of tests first. Help is welcome here.
In the future the abstract schema of the extension could also be used to detect schema
drifts on extension tables on wmf wikis, this happens at the moment only for core.
Hopefully some of the long standing requests to bundle popular extensions with the
tarball can be addressed, because the extensions are now fulfill the requirement to
support all rdbms. Testing is welcome for this as well!
It is possible that there are some areas needs updates, like documentation or guidelines,
feel free to improve if you find something outdated.
I would like to thanks Sam Reed to start with the convert of extensions, as well as
various other developer converting extensions in the last years/months! Great work I could
benefit from while creating my own patch sets.
Also thanks to James Forrester for the review of many of my patch sets.
Wikitech-l mailing list -- wikitech-l(a)lists.wikimedia.org
To unsubscribe send an email to wikitech-l-leave(a)lists.wikimedia.org