PHPackages                             portrino/px\_dbmigrator - 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. portrino/px\_dbmigrator

ActiveTypo3-cms-extension[Database &amp; ORM](/categories/database)

portrino/px\_dbmigrator
=======================

Database Migrator for TYPO3

3.1.0(5mo ago)15.9k—8.3%GPL-2.0PHPPHP &gt;=8.2 &lt;=8.5.99CI passing

Since Jul 11Pushed 5mo ago5 watchersCompare

[ Source](https://github.com/portrino/px_dbmigrator)[ Packagist](https://packagist.org/packages/portrino/px_dbmigrator)[ RSS](/packages/portrino-px-dbmigrator/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (13)Versions (15)Used By (0)

TYPO3 extension `px_dbmigrator`
===============================

[](#typo3-extension-px_dbmigrator)

[![Latest Stable Version](https://camo.githubusercontent.com/60bb29c7f3a35fe32ea1fbd803c693ea970e1b39a409ce44aeeb1b3a739b0ae2/68747470733a2f2f706f7365722e707567782e6f72672f706f727472696e6f2f70785f64626d69677261746f722f762f737461626c65)](https://packagist.org/packages/portrino/px_dbmigrator)[![TYPO3 13](https://camo.githubusercontent.com/e5ff4c790bf7c65c77f8a1f72d1b010a16698dccb32a0e978fb6cba6ceeab297/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5459504f332d31332d6f72616e67652e7376673f6c6f676f3d7479706f33)](https://get.typo3.org/version/13)[![TYPO3 14](https://camo.githubusercontent.com/2154eef89c2d2c73a854a92e4e5117cf11971f3eba26340fa0f4cc8829c0e8cc/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5459504f332d31342d6f72616e67652e7376673f6c6f676f3d7479706f33)](https://get.typo3.org/version/14)[![Total Downloads](https://camo.githubusercontent.com/b2fe44905c0f55a00e810609f8aed1d4f2e08a3096be11aa954c2d392f3a65f5/68747470733a2f2f706f7365722e707567782e6f72672f706f727472696e6f2f70785f64626d69677261746f722f646f776e6c6f616473)](https://packagist.org/packages/portrino/px_dbmigrator)[![Monthly Downloads](https://camo.githubusercontent.com/c9057acee6ee55e7933e9eb9e2d2824f45353a13a4f6bb0c85eb5538f1fa5b8e/68747470733a2f2f706f7365722e707567782e6f72672f706f727472696e6f2f70785f64626d69677261746f722f642f6d6f6e74686c79)](https://packagist.org/packages/portrino/px_dbmigrator)[![CI](https://github.com/portrino/px_dbmigrator/actions/workflows/ci.yml/badge.svg)](https://github.com/portrino/px_dbmigrator/actions/workflows/ci.yml)

> Database Migrator for TYPO3

1 Features
----------

[](#1-features)

Today TYPO3 projects are mostly developed and deployed using git. The **PxDbmigrator** extension can help you to work with SQL changes in this environment. Apply SQL changes on all developer instances or even deploy changes to your Production or Staging systems.

### 1.1 What it does

[](#11-what-it-does)

The **PxDbmigrator** extension provides a command that executes migration files (e.g. `*.sql` files or `*.sh` or `*.typo3cms` files) that you place in a configurable directory. Once the command is called it checks for new migration files and "executes" them in the given order.

So if you want to distribute a SQL Command (e.g. an INSERT/ REPLACE statement for a new record) across your installations, just create a file with a unique name and push it into your repository. Once others pull it and execute the **PxDbmigrator** command, they will have your changes applied!

It's recommended to automate the execution of the command using composer pre- or post- scripts.

2 Usage
-------

[](#2-usage)

### 2.1 Installation

[](#21-installation)

#### Installation using Composer

[](#installation-using-composer)

The **recommended** way to install the extension is using [composer](https://getcomposer.org/).

Run the following command within your Composer based TYPO3 project:

```
composer require portrino/px_dbmigrator

```

#### Installation as extension from TYPO3 Extension Repository (TER)

[](#installation-as-extension-from-typo3-extension-repository-ter)

Download and install the [extension](https://extensions.typo3.org/extension/px_dbmigrator) with the extension manager module.

### 2.2 Setup

[](#22-setup)

After finishing the installation, head over to the extension settings and adjust the given settings to your needs.

So, a possible configuration in the `LocalConfiguration.php` of a composer managed TYPO3 installation could look like:

```
return [

    ...

    'EXTENSIONS' => [

        ...

        'px_dbmigrator' => [
            'migrationFolderPath' => '../migrations',
            'mysqlBinaryPath' => '/usr/bin/mysql',
            'typo3cmsBinaryPath' => '/vendor/bin/typo3',
        ],

        ...

    ],

    ...

];

```

### 2.3 Invoke

[](#23-invoke)

Use the TYPO3 CLI to invoke the command to execute the migrations:

```
./vendor/bin/typo3 migration:migrateall

```

3 Troubleshooting
-----------------

[](#3-troubleshooting)

If the execution of a migration file fails, the associated registry entry of the last executed file won't be stored in the database and the file will be executed again on the next run. Notice that it already might have done changes to your database before it crashed!

If you want to see which migration was executed last, you can check the database table `sys_registry` with the namespace `PxDbmigrator`.

4 FAQ
-----

[](#4-faq)

#### Can I use timestamps as migration numbers/ filename prefix?

[](#can-i-use-timestamps-as-migration-numbers-filename-prefix)

Sure. This is indeed the recommended way to do it, as the filename already contains the date of creation and the files are sorted correctly by name.

#### Do I need the leading zeros?

[](#do-i-need-the-leading-zeros)

No, you can also use `1.sql` and so on. But as already mentioned above, the recommended way is to use timestamps. Example: `1696560849-adds-some-required-pages.sql`

#### Can I undo a migration?

[](#can-i-undo-a-migration)

No, the migrator only knows one direction. You’ll need to do it manually.

5 Compatibility
---------------

[](#5-compatibility)

PxDbmigratorTYPO3PHPSupport / Development3.x13.4 - 14.x8.2 - 8.5features, bugfixes, security updates2.x12.48.1 - 8.2bugfixes, security updates2.x11.57.4 - 8.1bugfixes, security updates2.x10.47.2 - 7.4bugfixes, security updates6 Authors
---------

[](#6-authors)

- See the list of [contributors](https://github.com/portrino/px_dbmigrator/graphs/contributors) who participated in this project.

#### Based on other great extensions:

[](#based-on-other-great-extensions)

- [etobi/typo3-migrator](https://github.com/etobi/typo3-migrator) by Tobias Liebig
- [smichaelsen/typo3-migrator](https://github.com/smichaelsen/typo3-migrator) by Sebastian Michaelsen

###  Health Score

54

—

FairBetter than 97% of packages

Maintenance73

Regular maintenance activity

Popularity25

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity88

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 51.6% of commits — single point of failure

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.

###  Release Activity

Cadence

Every ~348 days

Recently: every ~168 days

Total

13

Last Release

152d ago

Major Versions

1.2.0 → 2.0.02023-10-06

2.x-dev → 3.0.02024-11-05

### Community

Maintainers

![](https://www.gravatar.com/avatar/03867e1d2497d7cb7feb932fb301387e143503bfd17c584ef90347b3d7942cf1?d=identicon)[portrino-dev](/maintainers/portrino-dev)

---

Top Contributors

[![EvilBMP](https://avatars.githubusercontent.com/u/540478?v=4)](https://github.com/EvilBMP "EvilBMP (33 commits)")[![etobi](https://avatars.githubusercontent.com/u/152207?v=4)](https://github.com/etobi "etobi (20 commits)")[![smichaelsen](https://avatars.githubusercontent.com/u/912435?v=4)](https://github.com/smichaelsen "smichaelsen (7 commits)")[![tgriessbach](https://avatars.githubusercontent.com/u/11647324?v=4)](https://github.com/tgriessbach "tgriessbach (2 commits)")[![aWuttig](https://avatars.githubusercontent.com/u/726519?v=4)](https://github.com/aWuttig "aWuttig (1 commits)")[![wandoliver](https://avatars.githubusercontent.com/u/35329024?v=4)](https://github.com/wandoliver "wandoliver (1 commits)")

###  Code Quality

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/portrino-px-dbmigrator/health.svg)

```
[![Health](https://phpackages.com/badges/portrino-px-dbmigrator/health.svg)](https://phpackages.com/packages/portrino-px-dbmigrator)
```

###  Alternatives

[in2code/migration

Framework for any kind of TYPO3 migrations and imports. Also exports and imports content from and to json files.

6277.0k3](/packages/in2code-migration)[lolli/dbdoctor

TYPO3 Database doctor - Find and fix TYPO3 database inconsistencies

43103.5k](/packages/lolli-dbdoctor)[friendsoftypo3/typo3db-legacy

TYPO3\_DB compatibility layer

12521.7k5](/packages/friendsoftypo3-typo3db-legacy)[bmack/site-importer

Imports records from a Yaml file structure into the TYPO3 database

2383.2k](/packages/bmack-site-importer)[stefanfroemken/mysqlreport

Analyze and profile your TYPO3 databases queries

1314.9k](/packages/stefanfroemken-mysqlreport)

PHPackages © 2026

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