Statistics
20200
28
8
30d
Badges
Dependencies
  • php (>=7.0)

Nextras Dbal

Build Status Build Status AppVeyor Downloads this Month Stable Version Code coverage

A powerful abstraction layer for database. Fast & Safe.

Supported platforms:

  • MySQL via mysqli extension,
  • PostgreSQL via pgsql extension,
  • MS SQL Server via sqlsrv extension.

Installation

Use composer:

$ composer require nextras/dbal

Docs & sources

Thanks

This project is inspired by great libraries:

License

MIT. See full license.

  • v3.0.0-rc1 3.0.0 RC1

    The first RC of 3.0.0 is out.

    Notable BC breaks:

    • Library requires PHP 7.0+ version.
    • Date-time fields are converted to DateTimeImmutable instances.
    • Date-time changes: %dts does not do any timezone modifications (removed simpleStorageTz), read more in documentation and see the usage matrix.
    • Connection::ping() does not connect when connection is not connected.

    Notable features & changes:

    • Connection: added nested transactions & savepoints.
    • Connection: added setter for transation isolation level.
    • Added %json modifier.
    • Added IConnection interface.
    • Added factory for SqlProcessor.
    • Added SqlSrv driver & MSSQL support.
    • Enhanced Tracy's panel - added elapsed time, explain, updated visual design.
    • See full commit changelog since 2.1 version.
  • v2.1.0 2.1.0

    Next minor version 2.1.0 is out! 🍓

  • v2.0.0 2.0.0

    Next major version 2.0.0 is out! 🍎 🎉

    • BC breaks:
      • minimal PHP version is 5.5 [c6b199b]
      • changed signature of IPlatform [91fe03f, fe3f3f8]
      • changed signature of IDriver, convertToSql() method was splitted [a28ba05]
      • changed behavior of %column[] and %table[] modifiers, no parenthesis are added, #31 [e433127]
    • New features:
      • Nette Extension: added support for multiple instances with autowired [bc406a8]
      • SqlProcessor: added %_like_ placeholder, #9 [00a1833]
      • SqlProcessor: added support for insert into table with all default values [96698e0]
      • Connection::queryArgs accepts only an array [7a3474a]
      • added QueryBuilder::getLimitOffsetClause() [2a89af2]
      • added IPlatform::getSequenceName() [91fe03f]
      • added IPlatform::getName() [fe3f3f8]
      • added CachedPlafom [ccbfd48]
    • See full commit changelog since version 1.1.
  • v2.0.0-rc1 2.0.0 RC1

    Next major beta version 2.0.0-rc1 is out!

  • v2.0.0-beta2 2.0.0 BETA 2

    Next major beta version 2.0.0-beta2 is out! What's changed?

    • additions:
      • added IPlatform::getName();
      • added IPlatform::getPrimarySequenceName();
      • added CachedPlatform class;
    • see full commit changelog
  • v1.1.1 1.1.1

    Bugfix version 1.1.1 is out! 🍏 : What's new?

  • v1.1.0 1.1.0

    Minor version 1.0.1 is out! 🍍 : What's new?

    • added:
      • Connection::reconnectWithConfig(), thanks @Mikulas, @JanTvrdik
      • support for DateTimeImmutable, thanks @Mikulas
      • PostgreArrayConverter
      • %blob modifier
    • fixed:
      • calling proper events
    • see full commit changelog
  • v1.0.1 1.0.1

    Bugfix version 1.0.1 is out! 🍋 What's new?

  • v1.0.0 Dbal 1.0.0

    The first stable release of Nextras DBAL.

  • v1.0.0-RC3 Dbal 1.0.0-RC3

    Changes against 1.0.0-RC2:

    • !!! new: exceptions refactored to base project namespace (from Excetion subnamespace) - BC BREAK!!!
    • !!! new: MySQL uses TRADITIONAL sql mode by default - BC BREAK!!!
    • fix: Connection::ping() connects to database.
    • fix: PgsqlDriver::getLastInsertedId() throws exception when sequence name is not provided.
    • fix: Connection throws exception when driver is not defined.
    • fix: PgsqlDriver supports %dt modifier for timestamp column.
    • add: Connection::createQueryBuilder() method
  • v1.0.0-RC2 Dbal 1.0.0-RC2

    Changes against 1.0.0-RC1:

    • added method Result::fetchAll()
    • added method Result::fetchPairs()
    • added support for escaping % sign for SqlProcessor (use doubled %)
    • fixed Result::seek() fetching current row immediately

Is this addon outdated? Did you find an issue? Please report it.

Componette Componette admin@componette.com