Skip to content

Run by code

In addition to the CLI, the commands can be executed by a code.

Import

The ExportImport service can be injected as a constructor parameter.

namespace Espo\Custom\Tools;

use Espo\Modules\ExportImport\Tools\ExportImport;

class MyImportTest
{
    public function __construct(private ExportImport $exportImportTool)
    {}

    public function runImport()
    {
        $this->exportImportTool->runImport([
            'path' => 'custom/Espo/Custom/MyData',
            'skipInternalConfig' => true,
            'userPassword' => 1,
            'userActiveList' => [
                'admin'
            ],
            'updateCurrency' => true,
            'updateCreatedAt' => true,
            'entityHardList' => [
                'ScheduledJob'
            ],
        ]);
    }
}

Export

To export data, you can use the runExport method of the ExportImport service.

namespace Espo\Custom\Tools;

use Espo\Modules\ExportImport\Tools\ExportImport;

class MyExportTest
{
    public function __construct(private ExportImport $exportImportTool)
    {}

    public function runExport()
    {
        $this->exportImportTool->runExport([
            'path' => 'custom/Espo/Custom/MyData',
            'entityList' => ['Account', 'Contact'],
            'skipConfig' => true,
            'skipCustomization' => true,
            'skipRelatedEntities' => true,
        ]);
    }
}