Changes implemented:
- Proper type definitions, for both return types and properties.
- Streamlined if statements, removing unnecessary statements.
- Upgraded Mongo backend to be compatible with driver 1.15.
- TableModels now return a TableModelResult. This provides a standardized return variable for all types of TableModels.
- TableModelResults can be iterated over, or turned into an array with toArray()
- TableModels are now requested using the Database::getTableModel() method. Arguments are put in a different order.
- PDOTableModel no longer supports joins
- PDOTableModel no longer supports fetchMode. Use TableModelResult::group instead for certain cases.
- Optimized DatabaseEngine
- A standard MongoDB engine has been implemented
- Implemented transactions into the iDatabaseEngine and PDOEngine.
- Added a TransactionException when transactions fail
System now consists of engines, much like the Layout system does. Engines are registered and can be provided by the FuzeWorks\Database class.
This engine is not limited to SQL or PDO relational databases. A future MongoDB database is also planned.