Skip to content

[RFC] Check for minimum supported database type and version #12351

@zero-24

Description

@zero-24

Reason / Problem

In Joomla 4.0 there is the plan to remove support for mssql and bump the requirment versions for postgres and mysql

Expected result

If you are on 3.x and an unspported database type or version you should get a message (similiar to the PHP Version) and you can't install the update

Actual result

You can install the update without any warning and after the update your site is broken.

Why now?

Becuase how the update component is designed we need to implement the checks before they can be checked. So we need to implement them into 3.x befor 4.0 is released. And all updates need to first update to the version where we have implemented the checks to be sure they don't crash the sites.

But anyway which version this will be implemented we should implement a soulution to prevert future problems with 4.0 😄

More technical.

Sadly the updater code ignore as of today subtags in the update server definition so this don't work:

<minimum_database>
    <databse servertype="mysql" version="5.5.3" />
    <databse servertype="postgres" version="9.2" />
</minimum_database>

RFC proposals

As we can't use the nice way we need to try it different one idea could be:

<supported_database>mysql,postgres</supported_database>
<minimum_mysql>5.5.3</minimum_mysql>
<minimum_postgres>9.2</minimum_postgres>

As i think we should not hard implement the databases we need two tags one that hold the list of supported database types and than per databasetype the version.

Another idea:

<supported_databases servertypes="mysql,postgres" mysql="5.5.3" postgres="9.2" />
<supported_databases servertypes="mysql,postgres" versions="5.5.3,9.2" />

Before I try to implemt something like that I would be happy on feedback and maybe help and/or other ideas on that topic.

Metadata

Metadata

Assignees

No one assigned

    Labels

    RFCRequest for Comment

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions