TDBM 5.0 is released

We are tremendously happy to announce the first stable release of TDBM 5.

What is TDBM?

If you came to this page without a previous knowledge of Mouf, here is what you need to know:

TDBM is a "database driven" ORM, meaning you start from the data model and TDBM will generate PHP classes for you.

So, what's new in this v5?

Framework independant

Until TDBM 4, TDBM was deeply connected to Mouf. This is no longer the case. Of course, Mouf integration is still there. But the core of TDBM is now framework independant is separated in an independant package.

TDBM also comes with bindings for:

TDBM also comes with a nice documentation if you want to import it in any another framework.

New documentation, new website

The TDBM documentation has been migrated to a brand new website with a tremendous design.

Battle tested

TDBM 5 was not release yet but it has still been used on several projects in production.

Unit and integration tests have been greatly improved from TDBM 4.

Database agnostic

Since TDBM 4, TDBM relies on Doctrine DBAL for the database abstraction layer. However, TDBM 4 was only ever tested on MySQL and would fail to work on any other database.

TDBM 5 on the other hand has been tested and is known to work on a wide range of databases:

  • MySQL
  • MariaDB
  • PostgreSQL
  • Oracle

Each of those databases is tested on every commit thanks to Travis.

If you are looking to add support for another database, do not hesitate to open an issue/PR!

Migration friendly

A big number of users are still using TDBM 3. TDBM 3 and TDBM 5 are very different beasts. Because TDBM 5 is in another package with a brand new namespace, you can consider installing TDBM 3 and TDBM 5 side-by-side, in the same project, and migrating slowly your beans and DAOs to the new TDBM.

A PHP 7.1 library

The minimum PHP version has been bumped to PHP 7.1.

This is very important because the generated code uses PHP 7.1 type-hints extensively to ensure maximum safety when you use TDBM. "Strict typing for the win!"

Other features

  • Added support for UUID automatic generation
  • Support for annotations in column comments
  • Generated code is now PSR-2 compliant
  • Improved schema analysis
  • Countless improvements of SQL parsing (in the underlying magic-query library)
  • Added support for true JSON columns, thanks to DBAL 2.6

What's next?

In the coming months, we plan to add even more integrations, starting with an integration with container-interop/service-provider, the soon-to-be PSR that will allow injecting any service in any container.

Tags :