Skip to content

droptable-ru/db-dumper

 
 

Repository files navigation

Dump the contents of a database

Latest Version on Packagist Software License Build Status SensioLabsInsight Quality Score Total Downloads

This repo contains an easy to use class to dump a database using PHP. Currently MySQL and PostgreSQL are supported. Behind the scences mysqldump and pg_dump are used.

Here's a simple example of how to create a dump of MySQL-datbase:

Spatie\DbDumper\Databases\MySql::create()
    ->setDbName($databaseName)
    ->setUserName($userName)
    ->setPassword($password)
    ->dumpToFile('dump.sql');

And here's the PostgreSQL version of that:

Spatie\DbDumper\Databases\PostgreSql::create()
    ->setDbName($databaseName)
    ->setUserName($userName)
    ->setPassword($password)
    ->dumpToFile('dump.sql');

Spatie is a webdesign agency based in Antwerp, Belgium. You'll find an overview of all our open source projects on our website.

Requirements

For dumping MySQL-db's mysqldump should be installed For dumping PostgreSQL-db's pg_dump should be installed.

Installation

You can install the package via composer:

$ composer require spatie/db-dumper

Usage

MySQL

This is the simplest way to create a dump of the db:

Spatie\DbDumper\Databases\MySql::create()
    ->setDbName($databaseName)
    ->setUserName($userName)
    ->setPassword($password)
    ->dumpToFile('dump.sql');

If the mysqldump binary is installed in a non default location you can let the package know by using thesetDumpBinaryPath()-function:

Spatie\DbDumper\Databases\MySql::create()
    ->setDumpBinaryPath('/custom/location')
    ->setDbName($databaseName)
    ->setUserName($userName)
    ->setPassword($password)
    ->dumpToFile('dump.sql');

PostreSQL

This is the simplest way to create a dump of the db:

Spatie\DbDumper\Databases\PostgreSql::create()
    ->setDbName($databaseName)
    ->setUserName($userName)
    ->setPassword($password)
    ->dumpToFile('dump.sql');

If the pg_dump binary is installed in a non default location you can let the package know by using the setDumpBinaryPath()-function:

Spatie\DbDumper\Databases\PostgreSql::create()
    ->setDumpBinaryPath('/custom/location')
    ->setDbName($databaseName)
    ->setUserName($userName)
    ->setPassword($password)
    ->dumpToFile('dump.sql');

Changelog

Please see CHANGELOG for more information what has changed recently.

Testing

$ composer test

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email freek@spatie.be instead of using the issue tracker.

Credits

Initial PostgreSQL support was contributed by Adriano Machado.

About Spatie

Spatie is a webdesign agency based in Antwerp, Belgium. You'll find an overview of all our open source projects on our website.

License

The MIT License (MIT). Please see License File for more information.

Packages

No packages published

Languages

  • PHP 100.0%