antennaio / laravel-codeception-dbdump
Create database dumps ready to be used with Codeception
Installs: 1 514
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 1
Forks: 1
Open Issues: 0
Requires
- doctrine/dbal: ~2.3
- illuminate/console: ^5.1
- illuminate/support: ^5.1
Requires (Dev)
- mockery/mockery: ^0.9.4
- orchestra/testbench: ~3.0
- phpunit/phpunit: 5.*
This package is not auto-updated.
Last update: 2025-03-07 21:29:10 UTC
README
Create database dumps ready to be used with Codeception
Codeception comes with a nice Db module that keeps the test database clean
before each test is run. To use it you are expected to put a database dump in tests/_data
directory. This is a major
pain, because each time the database changes, a new dump is required. This package adds a single command to your
project that will migrate, seed and dump a test database making it ready to be used in Codeception tests.
Installation
Install through composer:
composer require antennaio/laravel-codeception-dbdump:~0.0.1
Add the service provider to config:
// config/app.php
'provider' => [
...
Antennaio\Codeception\DbDumpServiceProvider::class,
...
];
Usage
Run the command with a single argument connection
, which is one of the connections defined in config/database.php
.
php artisan codeception:dbdump connection
Optionally, you can specify a path to the dump file:
php artisan codeception:dbdump connection --dump=tests/_data/test.sql
All available options:
Option | Description |
---|---|
--dump[=DUMP] | Choose the path for your dump file [default: "tests/_data/dump.sql"] |
--empty-database | Delete all database tables before any other action |
--no-seeding | Disable seeding in the dump process |
--seeder-class[=SEEDER-CLASS] | Choose the seeder class [default: "DatabaseSeeder"] |
--binary[=BINARY] | Specify the path to mysqldump (if using mysql driver) or sqlite3 (if using sqlite driver) |
Run the command whenever your tests run
It's possible to have this command run automatically before any of your tests are executed by adding
it to tests/_bootstrap.php
:
exec('php artisan codeception:dbdump connection');
Compatibility
The codeception:dbdump
command is currently compatible with MySQL and SQLite drivers.