Download the PHP package aymdev/fregata-bundle without Composer
On this page you can find all versions of the php package aymdev/fregata-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download aymdev/fregata-bundle
More information about aymdev/fregata-bundle
Files in aymdev/fregata-bundle
Package fregata-bundle
Short Description Symfony bundle for the Fregata migration framework.
License MIT
Informations about the package fregata-bundle
Fregata Bundle
Symfony bundle for the Fregata data migration framework. Provides an UI and executes migrations asynchronously using the Messenger component.
Documentation:
- Requirements
- Installation
- Doctrine entities
- Messenger transport
- User interface
- User interface overview
- Main pages
- Run list
- Run details
- Starting a migration
Requirements
This bundle requires PHP >= 8.1 and a Symfony 4.4 or 5 application. Note that as it uses a database, it will install the Doctrine bundle.
If you are not familiar with Fregata's features, make sure to read its documentation.
Installation
Install with Composer:
Doctrine entities
Then you will need to create the database tables for the provided entities (3 entities + a ManyToMany relation). You can do this how you want.
Suggestion: My preferred way to use database migrations is by using the MakerBundle and its
make:migrationcommand followed by Doctrine'sdoctrine:migrations:migratecommand.
Messenger transport
As the main work of the bundle happens in Messenger components, you need to route the provided messages to a transport of your choice. Example config/packages/messenger.yaml:
User interface
To enable the user interface, import the routes by creating a config/routes/fregata.yaml file:
Change the
prefixto anything you want, or remove it if you want to set the Fregata dashboard at the root of your app.
You can then reach the dashboard at /fregata.
User interface overview
Main pages
The dashboard lists the current migration runs, or the last one if nothing is running. The migrations page lists the currently configured migrations with a link to a dedicated page to get a quick overview with the list of components and the run history of a specific migration. The complete run history is on a separated page.
Run list
The table shown here is used in multiple pages of the user interface and contains:
- the id of the migration run
- the name of the migration with a link to the details page
- the status tag
- the time stats: start time, end time and duration
- the number of components
- a link to the run details
Run details
The same informations can be found on the run details: A cancel button is shown in the top right corner as long as the migration is running. The run is divided on 3 steps with tabs:
- Before tasks
- Migrators
- After tasks
Each tab shows a progress bar and its associated components. The migrators are sorted according to their dependencies from left to right.
Starting a migration
You can start a migration from the user interface by clicking the "New run" button in the menu.
Alternatively, the fregata:migration:execute console command is available:
You should then see the run on the user interface.
If you want to run a migration as in the Fregata framework, without Messenger, you can add the --synchronous option.
Warning: by doing so, the migration runs in the foreground, doesn't use the database and can't show on the UI.
All versions of fregata-bundle with dependencies
aymdev/fregata Version ^1.1.0
symfony/http-kernel Version ^4.4||^5.0
symfony/dependency-injection Version ^4.4||^5.0
symfony/config Version ^4.4||^5.0
symfony/framework-bundle Version ^4.4||^5.0
doctrine/doctrine-bundle Version ^2.4
doctrine/orm Version ^2.11
symfony/messenger Version ^4.4||^5.0
symfony/asset Version ^4.4||^5.0
symfony/form Version ^4.4||^5.0
symfony/validator Version ^4.4||^5.0
symfony/security-csrf Version ^4.4||^5.0