PHPackages                             ekolotech/database-importer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. ekolotech/database-importer

ActiveLibrary[Database &amp; ORM](/categories/database)

ekolotech/database-importer
===========================

Allow to import a database into another database

2.0.0(1y ago)06MITPHPPHP &gt;=7.2

Since Mar 5Pushed 1y ago1 watchersCompare

[ Source](https://github.com/igorcyberdyne/DatabaseImporter)[ Packagist](https://packagist.org/packages/ekolotech/database-importer)[ Docs](https://github.com/igorcyberdyne/DatabaseImporter)[ RSS](/packages/ekolotech-database-importer/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (1)Versions (5)Used By (0)

ekolotech/database-importer [![PHP version >= 7.2](https://github.com/igorcyberdyne/DatabaseImporter)](https://www.php.net/releases/7_2_0.php)
==============================================================================================================================================

[](#ekolotechdatabase-importer-)

**ekolotech/database-importer** est un composant commande permettant :

- d'importer une base de données A dite `source` vers une base de données B dite de `destination`
- d'exporter une base de données dite `source` vers un fichier `.sql`
- d'importer une base de données depuis un fichier `.sql` vers une base de données dite de `destination`

**Auteur :** [@igorcyberdyne](https://github.com/igorcyberdyne), [@EKOLOTECH](https://ekolotech.fr)

Bases de données prises en charge
---------------------------------

[](#bases-de-données-prises-en-charge)

- Mysql
- MariaDB

Installation
------------

[](#installation)

Vous pouvez

> Télécharger le composant sur [`github` ekolotech/database-importer](https://github.com/igorcyberdyne/DatabaseImporter.git)

OU exécuter la commande ci-dessous dans la console

```
composer require ekolotech/database-importer

```

Description
-----------

[](#description)

Pour effectuer les opérations décrites dans le tableau ci-dessous, selon le besoin vous devez implémenter les interfaces de configuration des bases de données, utiliser l'instance `CommandHandler`, ajouter les commandes pour déclencher les opérations ([voir 2. Exemple d'implémentation](#implementation-example)).

`- Liste des commandes`

NomdescriptionoptionsInterface de configdatabase:import-from-another-database ([exemple ici](#import-from-another-database))Importer une base de données A vers une base de données B--dumpFilePath="path\\to\\dir" (facultatif)`SourceToDestinationDatabaseCommandConfig`database:export-to-file ([exemple ici](#export-to-file))Exporter une base de données vers un fichier--migrationDir="path\\to\\dir" (facultatif)`ExportDatabaseCommandConfig`database:import-from-file ([exemple ici](#import-from-file))Importer une base de données depuis un fichier--dumpFilePath="path\\to\\file.sql" (obligatoire)`ImportDatabaseCommandConfig`### 1. Présentation des interfaces de config selon les commandes et le modèle de la base de données

[](#1-présentation-des-interfaces-de-config-selon-les-commandes-et-le-modèle-de-la-base-de-données)

Les méthodes de l'interface permettent de renseigner les données de connexion aux bases de données source et de destination.

```
interface SourceToDestinationDatabaseCommandConfig
{
    public function getSource(): Database;
    public function getDestination(): Database;
}

interface ExportDatabaseCommandConfig
{
    public function getSource(): Database;
}

interface ImportDatabaseCommandConfig
{
    public function getDestination(): Database;
}
```

```
class Database
{
    public function __construct(
        string $name, // Nom de la base
        string $host, // le host du serveur
        string $user, // l'utilisateur sur lequel se connecter
        string $password, // le mot de passe de l'utilisateur
    )
    {
    }
}
```

### 2. Exemple d'implémentation

[](#2-exemple-dimplémentation)

`- Fichier principale (DatabaseImporter > demo > console)`

```
