Download the PHP package arfaram/ezdatabasemigrationschema without Composer
On this page you can find all versions of the php package arfaram/ezdatabasemigrationschema. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download arfaram/ezdatabasemigrationschema
More information about arfaram/ezdatabasemigrationschema
Files in arfaram/ezdatabasemigrationschema
Package ezdatabasemigrationschema
Short Description This bundle gives you the possibility to import,export and drop database table(s) by extending the doctrine-dbal-schema bundle introduced in v2.5
License GPL-2.0-only
Homepage https://github.com/arfaram/ezdatabasemigrationschema
Informations about the package ezdatabasemigrationschema
EzPlatformDatabaseSchemaMigrationBundle
This bundle comes with several commands to export, import and drop database table(s) using schema files during or after site development. It allows you also to add data to your tables
Basically, you can use DoctrineMigrationsBundle
or KaliopMigrationBundle
to achieve database migration but this bundle uses the doctrine-dbal-schema
bundle(used only during eZ Platform installation) and coming with ezplatform v2.5. It uses the same concept and classes to migrate custom schema either using mysql
or postgresql
databases.
Requirement
eZPlatform 2.5+ (Open Source or EE), PHP 7+
Installation
- Activate the Bundle in AppKernel.php
Commands
Export Schema
Parameters:
-t, --table[=TABLE]
: The table name to be exported. It will create an export file using the same table name and current timestamp e.gezcobj_state_1572446173.yaml
all
: (default) If you don't specify explicitly the table name then it will export the entire db schema indb_schema_<timestamp>>.yaml
Note: You can specify the export folder path in parameters.yml
otherwise it will create the dump files in your installation root folder:
Example:
Note: Using eZPlatform Cloud you should mount the export path folder in .platform.app.yaml
:
Import Schema
This command imports custom schema definition and you have to add the schema file path in parameters.yml
Example:
You can find a schema example in bundle/doc/schema.yml
or the legacy ezplatform schema.yaml
Import Data
Sometimes you want also to import data to an existing database table. This is also possible using below command:
You have to add your sql file path in parameters.yml
Example:
You can find an sql file example in bundle/doc/mysql/data.sql
or just check more ezplatform mysql or postgresql clean data installation example.
Drop table(s) using schema file
This command removes table(s) using an existing schema file.You have to add the file path in parameters.yml
Example:
Drop table(s) using table name
This command is using doctrine schema manager to drop db table.
How it works:
SchemaBuilder
The Installer.php
class extends the CoreInstaller
(used only during eZ Platform installation) but its constructor becomes a custom SchemaBuilder
. It has the same structure like the EzSystems\DoctrineSchema\Builder\SchemaBuilder
introduced in the doctrine-dbal-schema
bundle.
The EventsSubscriber BuildSchemaSubscriber
class will load the schema using the importSchemaFromFile()
method defined in the SchemaBuilder
.
You can also add a custom Subscriber which contains your custom schema. See the example in services.yml
.
Take into account to use the SchemaBuilderEvents::INSTALLER_BUILD_SCHEMA
event name to dispatch your subscriber during execution.
ImportData
The DbDataInstaller
extend the DbBasedInstaller
coming with the PlatformInstallerBundle
and being used by
CoreInstaller.php
(used only during eZ Platform installation)
This class hat its own constructor and importData()
method which runs your custom queries.