PHPackages                             diablomedia/phinx-bundle - 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. diablomedia/phinx-bundle

ActiveSymfony-bundle

diablomedia/phinx-bundle
========================

diablomedia phinx bundle

00PHPCI passing

Since Jul 28Pushed todayCompare

[ Source](https://github.com/diablomedia/phinx-bundle)[ Packagist](https://packagist.org/packages/diablomedia/phinx-bundle)[ RSS](/packages/diablomedia-phinx-bundle/feed)WikiDiscussions main Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

### Composer

[](#composer)

The fastest way to install Phinx bundle is to add it to your project using Composer ().

1. Install Composer:

    ```
    curl -sS https://getcomposer.org/installer | php

    ```
2. Require Phinx bundle as a dependency using Composer:

    ```
    php composer.phar require diablomedia/phinx-bundle

    ```
3. Install bundle:

    ```
    php composer.phar install

    ```
4. Add bundle to `config/bundles.php`

    ```
    return [
        // [...]
        DiabloMedia\PhinxBundle\DiabloMediaPhinxBundle::class => ['all' => true],
    ];
    ```
5. Add bundle config to `config/packages/diablo_media_phinx.yaml`

    Minimal example:

    ```
    diablo_media_phinx:
        environment:
            connection:
                dsn: 'mysql://db_user:db_password@127.0.0.1:3306/db_name'
    ```

### Configuration

[](#configuration)

The bundle can be installed and Symfony's cache can be built without any configuration. A database connection is required before running commands that access the database.

OptionType / defaultDescription`migration_base_class``class-string`; Phinx's `AbstractMigration`Base class used by newly generated migrations. The class must extend Phinx's `AbstractMigration`.`adapters`map; emptyRegisters custom Phinx database adapters. Each key is the adapter name used by a DSN and each value is a class implementing Phinx's `AdapterInterface`.`paths.migrations`string, list, or namespace map; `%kernel.project_dir%/src/Resources/db/migrations`Location or locations scanned for migrations. A keyed map associates migration namespaces with paths. Glob patterns are supported by Phinx.`paths.seeds`string, list, or namespace map; `%kernel.project_dir%/src/Resources/db/seeds`Location or locations scanned for seed classes. A keyed map associates seed namespaces with paths.`environment.connection.dsn`string; required when `connection` is configuredDatabase-agnostic connection URL in the form `://[[:]@][:]/[?]`. Common adapters are `mysql`, `pgsql`, `sqlite`, and `sqlsrv`.`environment.migration_table`string; `phinxlog`Table used by Phinx to record which migrations have run. Schema-qualified names such as `phinx.log` are supported by databases such as PostgreSQL.`environment.table_prefix`string; nonePrefix Phinx applies to table names handled through its adapter.`environment.table_suffix`string; noneSuffix Phinx applies to table names handled through its adapter.`environment.prompt_password`boolean; `false`Prompts for the database password using a hidden Symfony Console question before database-dependent commands run. Create commands do not prompt.For example:

```
diablo_media_phinx:
    migration_base_class: App\Migration\AbstractMigration

    paths:
        migrations:
            App\Migrations: '%kernel.project_dir%/migrations'
        seeds:
            App\Seeds: '%kernel.project_dir%/seeds'

    adapters:
        custom: App\Database\CustomPhinxAdapter

    environment:
        migration_table: phinx_migrations
        table_prefix: app_
        connection:
            dsn: 'mysql://db_user:db_password@127.0.0.1:3306/db_name?charset=utf8mb4'
```

The bundle exposes a single Phinx environment named `default`; Symfony configuration determines its connection and paths. See the [Phinx configuration reference](https://book.cakephp.org/phinx/0/en/configuration.html)for more detail about DSNs, migration paths, adapters, and migration behavior.

### Interactive database password

[](#interactive-database-password)

To keep the database password out of configuration and environment variables, omit it from the DSN and enable the password prompt:

```
diablo_media_phinx:
    environment:
        prompt_password: true
        connection:
            dsn: 'mysql://db_user@127.0.0.1:3306/db_name'
```

Database-dependent commands will ask for the password without displaying it:

```
Password for db_user@127.0.0.1:

```

Commands run with `--no-interaction` cannot prompt and will stop with an explanatory error. For CI and automated deployments, use a separate Symfony configuration that supplies a complete DSN and leaves `prompt_password`disabled.

###  Health Score

21

—

LowBetter than 17% of packages

Maintenance65

Regular maintenance activity

Popularity0

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/136907?v=4)[Jay Klehr](/maintainers/jaydiablo)[@jaydiablo](https://github.com/jaydiablo)

---

Top Contributors

[![DjLeChuck](https://avatars.githubusercontent.com/u/696780?v=4)](https://github.com/DjLeChuck "DjLeChuck (26 commits)")[![mvrhov](https://avatars.githubusercontent.com/u/450008?v=4)](https://github.com/mvrhov "mvrhov (14 commits)")[![jaydiablo](https://avatars.githubusercontent.com/u/136907?v=4)](https://github.com/jaydiablo "jaydiablo (12 commits)")[![GandonNicolas](https://avatars.githubusercontent.com/u/70761579?v=4)](https://github.com/GandonNicolas "GandonNicolas (8 commits)")[![GErpeldinger](https://avatars.githubusercontent.com/u/60388866?v=4)](https://github.com/GErpeldinger "GErpeldinger (7 commits)")[![alozytskyy](https://avatars.githubusercontent.com/u/42665348?v=4)](https://github.com/alozytskyy "alozytskyy (4 commits)")[![pmeth](https://avatars.githubusercontent.com/u/1241034?v=4)](https://github.com/pmeth "pmeth (1 commits)")

### Embed Badge

![Health badge](/badges/diablomedia-phinx-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/diablomedia-phinx-bundle/health.svg)](https://phpackages.com/packages/diablomedia-phinx-bundle)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
