webino/webino-dbdump

Database Dump Utility for Zend Framework 2

0.1.0 2016-04-09 11:36 UTC

This package is auto-updated.

Last update: 2024-12-04 23:27:18 UTC


README

Build Status Coverage Status Scrutinizer Quality Score Dependency Status

Latest Stable Version Total Downloads Latest Unstable Version License

Utility used to dump a database into a SQL file, and to load that file into a database.

Features

  • Dump an entire database into a SQL file
  • Load a SQL file into a database

Setup

Following steps are necessary to get this module working, considering a zf2-skeleton or very similar application:

  1. Add "minimum-stability": "dev" to your composer.json, because this module is under development

  2. Run php composer.phar require webino/webino-db-dump:dev-develop

  3. Add WebinoDbDump to the enabled modules list

QuickStart

For example, add this settings to your module config:

'di' => [
    'instance' => [
        'alias' => [
            'DefaultDbDump' => \WebinoDbDump\Db\Dump\Dump::class,
        ],
    ],
    'DefaultDbDump' => [
        'parameters' => [
            'adapter' => \Zend\Db\Adapter\Adapter::class,
        ],
    ],
],

NOTE: Change the DefaultAdapterDump and \Zend\Db\Adapter\Adapter::class as you wish.

Then, add this code to your controller action:

// We encourage to use Dependency Injection instead of Service Locator
$dbDump = $this->getServiceLocator()->get('DefaultDbDump');

// saves the sql code of the entire database to a file
$dbDump->save('example/dump.sql');

// drops & creates tables/views, triggers and inserts the data
$dbDump->load('example/dump.sql');

// or from string
$dbDump->read(new \WebinoDbDump\Db\Sql\SqlString('CREATE TABLE...'));

NOTE: If you don't know how to inject the WebinoDbDump into action controller, check out test/resources.

NOTE: Use stream wrappers, e.g. compress.zlib://example.dump.sql.gz, if you want compression.

Changelog

0.2.0 [UNRELEASED]

  • Slightly redesigned
  • Added SqlString support

0.1.0

  • Initial release

TODO

  • Tests
  • Add support for more platforms (currently only Mysql)
  • Better exceptions
  • More options
  • Events dump
  • Upgrade Zend MVC

Addendum

Please, if you are interested in this Zend Framework module report any issues and don't hesitate to contribute. We will appreciate any contributions on development of this module.

Issue | Fork | Learn Develop