PHPackages                             maleficarum/database - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. maleficarum/database

ActiveLibrary[Database &amp; ORM](/categories/database)

maleficarum/database
====================

Maleficarum database component.

8.0.0(6y ago)07.6kproprietaryPHPPHP ^7.2CI failing

Since Mar 21Pushed 6y ago2 watchersCompare

[ Source](https://github.com/pharaun13/maleficarum-database)[ Packagist](https://packagist.org/packages/maleficarum/database)[ RSS](/packages/maleficarum-database/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (10)Dependencies (5)Versions (32)Used By (0)

Maleficarum Database \[OBSOLETE\]
=================================

[](#maleficarum-database-obsolete)

This is the Maleficarum Database component. It carries classes used to persist data in storage.

CAUTION: This component is now obsolete - use Maleficarum Storage instead:

Change Log
==========

[](#change-log)

\[8.0.0\] - 2020-03-27
----------------------

[](#800---2020-03-27)

### Changed

[](#changed)

- Remove statement cache
- Add reconnect on connection failure

\[7.0.1\] - 2018-11-28
----------------------

[](#701---2018-11-28)

### Changed

[](#changed-1)

- Remove `__instance` key from pdo parameters

\[7.0.0\] - 2018-09-12
----------------------

[](#700---2018-09-12)

### Changed

[](#changed-2)

- Adjustment code to `maleficarum/ioc` component v 3.0

\[6.0.0\] - 2018-07-13
----------------------

[](#600---2018-07-13)

### Changed

[](#changed-3)

- Make use of new persistable collection provided by `maleficarum/data` component

\[5.0.0\] - 2018-06-19
----------------------

[](#500---2018-06-19)

### Changed

[](#changed-4)

- Make use of new persistable model provided by `maleficarum/data` component
- Removed maleficarum repositories

\[4.6.0\] - 2018-10-01
----------------------

[](#460---2018-10-01)

### Changed

[](#changed-5)

- PDO builder now has it's own skip option in the default initializer.

\[4.5.1\] - 2017-09-19
----------------------

[](#451---2017-09-19)

### Fixed

[](#fixed)

- Build proper query with `distinct` for MSSQL collection

\[4.5.0\] - 2018-01-24
----------------------

[](#450---2018-01-24)

### Changed

[](#changed-6)

- `Pgsql\TransactionAware` advisory locks are now blocking in favor of non-blocking

\[4.4.0\] - 2017-12-07
----------------------

[](#440---2017-12-07)

### Changed

[](#changed-7)

- Being able to delete huge collections from MS SQL Server

\[4.3.0\] - 2017-11-28
----------------------

[](#430---2017-11-28)

### Changed

[](#changed-8)

- `Pgsql\TransactionAware` supporting `transaction` and `session` level locks

\[4.2.0\] - 2017-09-29
----------------------

[](#420---2017-09-29)

### Changed

[](#changed-9)

- All exceptions implement `\Maleficarum\Database\Exception\DatabaseExceptionInterface`
- `\Maleficarum\Database\Exception\EntityNotFoundException` introduced in `\Maleficarum\Database\Data\Model\AbstractModel::read`
- `\Maleficarum\Database\Errors\Pgsql\Errors` introduced
- `\Maleficarum\Database\Data\Transaction\Pgsql\TransactionAware` introduced
- PhpStorm type hinting improved

\[4.1.2\] - 2017-09-20
----------------------

[](#412---2017-09-20)

### Changed

[](#changed-10)

- `\Maleficarum\Database\Shard\Connection\AbstractConnection::prepareStatement` able to re-use prepared statements
- Collection re-uses prepared statement

### Fixed

[](#fixed-1)

- Model using prepared statements in a wrong way
- Reverting 4.1.1 as it was not a bug in the driver but in my brain

\[4.1.1\] - 2017-09-19
----------------------

[](#411---2017-09-19)

### Fixed

[](#fixed-2)

- MSSQL Model not reusing prepared statements as driver has [a bug](https://github.com/Microsoft/msphpsql/issues/60)

\[4.1.0\] - 2017-08-25
----------------------

[](#410---2017-08-25)

### Changed

[](#changed-11)

- Being able to insert huge collections from MS SQL Server

\[4.0.0\] - 2017-08-25
----------------------

[](#400---2017-08-25)

> NOTICE!!! Please use &gt;= 4.1.1 as this one has a serious bug

### Changed

[](#changed-12)

- Being able to fetch huge collections from MS SQL Server
- NOTICE: `\Maleficarum\Database\Shard\Connection\AbstractConnection::prepare` has been deprecated and will throw an `\LogicException`. `prepareStatement` should be used instead.
- Throw `\Maleficarum\Database\Exception\Exception` on connection failure, eg. due to missing driver
- Don't break `\PDO` constructor contract when using `\Maleficarum\Database\Initializer\Initializer`

\[3.1.1\] - 2017-08-21
----------------------

[](#311---2017-08-21)

### Changed

[](#changed-13)

- MSSQL connection does not cast all columns to string

\[3.1.0\] - 2017-08-18
----------------------

[](#310---2017-08-18)

### Changed

[](#changed-14)

- For MSSQL connection use the `sqlsrv` driver instead of obsolete `dblib`
- Charset setting removed. It's always UTF-8

\[3.0.0\] - 2017-08-01
----------------------

[](#300---2017-08-01)

### Changed

[](#changed-15)

- Make use of nullable types provided in PHP 7.1 ()

\[2.0.4\] - 2017-07-19
----------------------

[](#204---2017-07-19)

### Fixed

[](#fixed-3)

- Merge data only if query returns an array on update

\[2.0.3\] - 2017-06-02
----------------------

[](#203---2017-06-02)

### Fixed

[](#fixed-4)

- Merge data only if query returns an array on create

\[2.0.2\] - 2017-04-19
----------------------

[](#202---2017-04-19)

### Fixed

[](#fixed-5)

- Set database charset only if is defined

\[2.0.1\] - 2017-04-10
----------------------

[](#201---2017-04-10)

### Fixed

[](#fixed-6)

- Set MSSQL specific connection options to handle inserts

\[2.0.0\] - 2017-04-05
----------------------

[](#200---2017-04-05)

### Added

[](#added)

- Add MSSQL connection handler
- Add model &amp; collection classes for MSSQL
- Update initializer

\[1.1.2\] - 2017-03-23
----------------------

[](#112---2017-03-23)

### Changed

[](#changed-16)

- Default initializer now has an option to skip loading default builder functions.

\[1.1.1\] - 2017-03-23
----------------------

[](#111---2017-03-23)

### Changed

[](#changed-17)

- Default package initializer now properly returns it's name instead of null.

\[1.1.0\] - 2017-03-22
----------------------

[](#110---2017-03-22)

### Added

[](#added-1)

- Added IOC definitions specific to this package.

\[1.0.0\] - 2017-03-21
----------------------

[](#100---2017-03-21)

### Added

[](#added-2)

- This is an initial release of the component - based on the code written by me and included inside the maleficarum API repository.

###  Health Score

34

—

LowBetter than 75% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~42 days

Recently: every ~155 days

Total

27

Last Release

2279d ago

Major Versions

3.1.1 → 4.0.02017-08-25

4.5.1 → 5.0.02018-06-19

5.0.0 → 6.0.02018-07-13

4.6.0 → 7.0.02018-10-12

7.0.1 → 8.0.02020-03-27

PHP version history (3 changes)1.0.0PHP &gt;=7.0

3.0.0PHP ^7.1

7.0.0PHP ^7.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/eee6d4d80c40921b977cee3ca831cdc1529e4ade4eb5b898aef381969ce85127?d=identicon)[pharaun13](/maintainers/pharaun13)

---

Top Contributors

[![a-kowalski](https://avatars.githubusercontent.com/u/16385105?v=4)](https://github.com/a-kowalski "a-kowalski (16 commits)")[![pharaun13](https://avatars.githubusercontent.com/u/18721637?v=4)](https://github.com/pharaun13 "pharaun13 (15 commits)")[![paq85](https://avatars.githubusercontent.com/u/913555?v=4)](https://github.com/paq85 "paq85 (11 commits)")[![MichalStrzelczyk](https://avatars.githubusercontent.com/u/36735429?v=4)](https://github.com/MichalStrzelczyk "MichalStrzelczyk (8 commits)")[![simonjensen](https://avatars.githubusercontent.com/u/812111?v=4)](https://github.com/simonjensen "simonjensen (3 commits)")[![twarezak](https://avatars.githubusercontent.com/u/1963186?v=4)](https://github.com/twarezak "twarezak (3 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/maleficarum-database/health.svg)

```
[![Health](https://phpackages.com/badges/maleficarum-database/health.svg)](https://phpackages.com/packages/maleficarum-database)
```

###  Alternatives

[jdorn/sql-formatter

a PHP SQL highlighting library

3.9k116.5M113](/packages/jdorn-sql-formatter)[propel/propel1

Propel is an open-source Object-Relational Mapping (ORM) for PHP5.

8351.6M87](/packages/propel-propel1)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
