This extension supports multiple dabatase backends, providing equivalant service as the Db module. Additionally it provides capability to safely switch between database connectors and multi-level transaction support.
Currently the only database supported is MySQL; but it is pretty straight forward to add support for other databases.
It is still in development, but is stable enough for anyone to give it a try.
For codeception v2.0, please use v1.0.0
using the composer
command below.
composer require "redmatter/codeception-multidb: ~1.0.0"
A version that supports codeception v2.1 is under active development. You can install it by using the composer
command below.
composer require "redmatter/codeception-multidb: ~2.0@dev"
NOTE: Even though there has not yet been a stable release for 2.0
, it is fully compatible with 1.0
for features and its API. Please do log an issue for any bugs or possible improvemnts you identify.
Please see DemoCest
and acceptance.suite.yml
in examples.
In order to avoid MultiDb (or even the Db module from codeception) leaving behind modifications in the database, due to the user aborting a test run by pressing Ctrl+C
, leading to breaking tests during further runs, consider using the natterbox/codeception-ctrlc
module.
Please feel free to fork and submit a pull request. Bug fixes and general usability comments would be much appreciated.
If you are to contribute a feature or bug-fix, please do log an issue before starting to work on the code. Then branch from the appropriate release branch, to make those changes (see below for details).
Coding standard that is followed here is PSR-2
.
Version 2.0
will be the branch for migrating MultiDb to Codeception version 2.1
.
Version 1.0
is still a supported version; any major feature additions or bug fixes will be done for both versions.
It is essentially the same; but for the purpose of submitting pull requests, you should choose the appropriate branch, depending on the codeception version you have developed against.