Posted by
Eugen Stan on
Jan 14, 2021; 5:48pm
URL: http://ofbiz.116.s1.nabble.com/OFBIZ-12081-DB-driver-download-and-configuration-based-on-gradle-property-tp4762286p4763805.html
Hi,
See my reply inline:
Regards,
Eugen
On 14.01.2021 18:02, Daniel Watford wrote:
> Hi Eugen,
>
> I think your point...
>
> > It's important to match the driver version with database version
>
> ... is a good reason for the ofbiz project to NOT be opinionated about
> database libraries and versions
>
> Originally I had only thought we would need to specify one driver for
> one DBMS type. I had failed to realise there would be lots of different
> versions of any one DBMS in use, each potentially requiring a different
> driver version.
>
> Figuring out the 'good' driver version for each DBMS version potentially
> used with ofbiz probably wouldn't be workable. I imagine at best we
> might have a web page where ofbiz administrators can report on the
> combination of DBMS version, driver and JVM they are successfully using.
>
> You've changed my mind! :) I'll drop the use of build-time properties
> to resolve database driver libraries.
>
If that is the case then the solution might be simpler:
We can set our own constraints.
For a lot of web applications the norm is: We support only the latest
2-4 versions of Browser X, Y and Z.
In Debian, the policy is to keep the major version of an app during the
full lifetime of the release. If Debian 10 comes with Gnome 3.34 - That
is the version people are going to use until Debian 11 comes ~ 2 years
later. Only minor upgrades / patches are updated. This makes sense
considering Debian packages ~ 65.000+ packages (?!).
OFBiz could deliver only the latest versions at the time of release and
upgrade only patch versions (?!) or during point releases.
It's best if this policy is made explicit in the documentation.
Let's say that OFBiz 18.x comes with
- postgresql-jdbc 42.x which supports PostgreSQL 9.x -> 13.x
- mysql connector 8.x - which supports MySQL and MariaDB 10.x +
OFBiz 21.x will come with the latest drivers at it's release time, and
so on.
Also since OFBiz has a base JVM version used for building, we could use
that version to match the drivers as well.
This database version compatibility and information about jvm version is
available on the provider website.
If people use something else - it's on them to make the changes - this
phrase should also be explicit.
IMO It's not the community's obligation to support every permutation out
there.
Because I build Docker images and I can add libraries to classpath - I'm
good either way.
Once
https://issues.apache.org/jira/browse/OFBIZ-12136 is merged (will
submit a PR) - I'm all set for database drivers.
IMO one reason to add drivers to the projects is to make make it easier
to run integration tests for those databases OOTB.
I'm still not familiar with the project structure to figure out how to
run those tests.
--
Eugen Stan
+40720 898 747 / netdava.com