PHPackages                             avto-dev/data-migrations-laravel - 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. avto-dev/data-migrations-laravel

ActiveLibrary[Database &amp; ORM](/categories/database)

avto-dev/data-migrations-laravel
================================

Package for data migrations in laravel applications

v2.7.0(10mo ago)11.0k5MITPHPPHP ^8.2CI failing

Since May 16Pushed 10mo agoCompare

[ Source](https://github.com/avto-dev/data-migrations-laravel)[ Packagist](https://packagist.org/packages/avto-dev/data-migrations-laravel)[ RSS](/packages/avto-dev-data-migrations-laravel/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (10)Dependencies (12)Versions (12)Used By (0)

 [![Laravel](https://camo.githubusercontent.com/640c3d52b2764f179ef3cf089b604516a8c4ac0a06f055a46c6a7fce9428b787/68747470733a2f2f6c61726176656c2e636f6d2f6173736574732f696d672f636f6d706f6e656e74732f6c6f676f2d6c61726176656c2e737667)](https://camo.githubusercontent.com/640c3d52b2764f179ef3cf089b604516a8c4ac0a06f055a46c6a7fce9428b787/68747470733a2f2f6c61726176656c2e636f6d2f6173736574732f696d672f636f6d706f6e656e74732f6c6f676f2d6c61726176656c2e737667)

Миграция данных БД для Laravel
==============================

[](#миграция-данных-бд-для-laravel)

[![Version](https://camo.githubusercontent.com/ece643167b38f002fcd9f9bbf0728f9b510f7054a35feda63267252396f8127f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6176746f2d6465762f646174612d6d6967726174696f6e732d6c61726176656c2e7376673f6d61784167653d313830)](https://packagist.org/packages/avto-dev/data-migrations-laravel)[![PHP Version](https://camo.githubusercontent.com/f3a29237c128d6699a4e9c62bff0d9c12399e30a60221937f6e861f95dfdecad/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6176746f2d6465762f646174612d6d6967726174696f6e732d6c61726176656c2e7376673f6c6f6e6743616368653d74727565)](https://packagist.org/packages/avto-dev/data-migrations-laravel)[![Build Status](https://camo.githubusercontent.com/e076a433fc18f06053356dd1f47d542d81e8d908cd90b0a3b452ed637678b833/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6176746f2d6465762f646174612d6d6967726174696f6e732d6c61726176656c2f74657374732e796d6c)](https://github.com/avto-dev/data-migrations-laravel/actions)[![Coverage](https://camo.githubusercontent.com/ae7e9f2bebda1d698981eaf95d4c451b1278c6c0671ba670ce297cc97f8d79b9/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f6176746f2d6465762f646174612d6d6967726174696f6e732d6c61726176656c2f6d61737465722e7376673f6d61784167653d3630)](https://codecov.io/gh/avto-dev/data-migrations-laravel/)[![Downloads count](https://camo.githubusercontent.com/00ea230458b3d2eae577678f9c1e247546a0d9da4a3be28146c9a94f34f17ba8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6176746f2d6465762f646174612d6d6967726174696f6e732d6c61726176656c2e7376673f6d61784167653d313830)](https://packagist.org/packages/avto-dev/data-migrations-laravel)[![License](https://camo.githubusercontent.com/b2123c68cdf609f539024f24a322079d7c950e1299de50ac962d1804b03a56b9/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6176746f2d6465762f646174612d6d6967726174696f6e732d6c61726176656c2e7376673f6c6f6e6743616368653d74727565)](https://github.com/avto-dev/data-migrations-laravel/blob/master/LICENSE)

Данный пакет добавляет в ваше Laravel-приложение функционал мигрирования данных БД.

Install
-------

[](#install)

Require this package with composer using the following command:

```
$ composer require avto-dev/data-migrations-laravel "^2.4"
```

> Installed `composer` is required ([how to install composer](https://getcomposer.org/download/)).

> You need to fix the major version of package.

Опубликуйте конфигурационный файл, при помощи которого вы можете переопределить имя таблицы в БД для хранения данных о миграциях, имя соединения и прочие настройки:

```
$ php ./artisan vendor:publish --provider="AvtoDev\\DataMigrationsLaravel\\ServiceProvider"
```

После чего отредактируйте файл `./config/data-migrations.php` на своё усмотрение и завершите установку, выполнив команду:

```
$ php ./artisan data-migrate:install
```

Использование
-------------

[](#использование)

Проблема, которую решает данный пакет - это отсутствие встроенного в Laravel механизма мигрирования "боевых" данных в ваше приложение (`seeds` это механизм заполнения фейковыми данными изначально, а миграции БД несут ответственность за схему и т.д., но *не* данные).

Для того, что бы лучше ознакомиться с "механикой" работы данного пакета рассмотрим следующую ситуацию - ваше приложение использует 2 подключения к различным БД (`default` и `second_db`), и вам необходимо в каждом из них в уже существующие таблицы добавить какие-либо данные.

Для этого вам необходимо выполнить 2 команды:

```
$ ./artisan make:data-migration "Add some data into first table"
$ ./artisan make:data-migration --connection="second_db" "Add some data into second table"
```

После выполнения которых создадутся 2 файла:

- `./storage/data_migrations/2018_01_01_022000_add_some_data_into_first_table.sql`
- `./storage/data_migrations/second_db/2018_01_01_022001_add_some_data_into_second_table.sql`

Которые вы можете наполнить SQL-командами, производящими необходимые insert-ы и так далее (помните, что идеологически верно использовать их **только** для манипуляций с данными).

После этого вам достаточно выполнить:

```
$ ./artisan data-migrate
```

И данная команда произведёт поиск всех файлов (за исключением тех, чьи имена начинаются с точки) в директории `./storage/data_migrations` (путь может быть переопределен в конфигурационном файле) и попытается их выполнить, если запись об их выполнении не будет обнаружена в таблице `migrations_data` (которая была создана командой `data-migrate:install`).

Особенности
-----------

[](#особенности)

При использовании данного пакета следует знать о следующих особенностях:

- Если в директории с файлами-миграциями данных `./storage/data_migrations` создать новую директорию, и уже в ней разместить файл-миграцию - то имя этой директории будет использовано как имя подключения к БД (описанное в файле `./config/database.php`), которое надо использовать для применения миграций, что в ней размещены;
- Для применения миграций используются специальные классы, реализующие интерфейс `ExecutorContract`. Вы можете создать свой, указав его полное имя в файле-конфигурации;
- Миграции могут быть упакованы с помощью `gzip` (`gzip file.sql`). При наличии установленного php-расширения `zlib` они распаковываются "на лету", главное чтоб имя файла миграции заканчивалось на `.gz`;
- Миграции не имеют механизма "отката" (rollback-ов).

### Artisan-команды

[](#artisan-команды)

После установки данного пакета вам станут доступны следующие команды:

Сигнатура командыОписание`data-migrate:install`Производит создание таблицы в БД для хранения данных о миграциях данных`make:data-migration`Создаёт файл-миграции (пустой) в соответствии с необходимыми правилами именования и расположения`data-migrate`Запускает механизм мигрирования данных`data-migrate:status`Выводит данные о примененных и не примененных миграциях`data-migrate:uninstall`Удаляет таблицу с данными о миграциях данных из БД### Testing

[](#testing)

For package testing we use `phpunit` framework and `docker` with `compose` plugin as develop environment. So, just write into your terminal after repository cloning:

```
$ make build
$ make latest # or 'make lowest'
$ make test
```

Changes log
-----------

[](#changes-log)

[![Release date](https://camo.githubusercontent.com/8829d3d8264c2099c98b1d43baa227bb03c7f78b2d8fb9a76570cf107cbb3cef/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652d646174652f6176746f2d6465762f646174612d6d6967726174696f6e732d6c61726176656c2e7376673f7374796c653d666c61742d737175617265266d61784167653d313830)](https://github.com/avto-dev/data-migrations-laravel/releases)[![Commits since latest release](https://camo.githubusercontent.com/f856a2ee00726f001e961abd499f7fab315d203eadbfb098c26735733d50111b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6d6d6974732d73696e63652f6176746f2d6465762f646174612d6d6967726174696f6e732d6c61726176656c2f6c61746573742e7376673f7374796c653d666c61742d737175617265266d61784167653d313830)](https://github.com/avto-dev/data-migrations-laravel/commits)

Changes log can be [found here](https://github.com/avto-dev/data-migrations-laravel/blob/master/CHANGELOG.md).

Support
-------

[](#support)

[![Issues](https://camo.githubusercontent.com/652e1cad1c7329443fd796a112763b994a14fc13af3c6476d18e2267d60382ff/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6176746f2d6465762f646174612d6d6967726174696f6e732d6c61726176656c2e7376673f7374796c653d666c61742d737175617265266d61784167653d313830)](https://github.com/avto-dev/data-migrations-laravel/issues)[![Issues](https://camo.githubusercontent.com/1b73210f93fd362fdbc964fa4bbfb362ad0cc93063a2c4a18544005509ad554f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722f6176746f2d6465762f646174612d6d6967726174696f6e732d6c61726176656c2e7376673f7374796c653d666c61742d737175617265266d61784167653d313830)](https://github.com/avto-dev/data-migrations-laravel/pulls)

If you will find any package errors, please, [make an issue](https://github.com/avto-dev/data-migrations-laravel/issues/new/choose) in current repository.

License
-------

[](#license)

This is open-sourced software licensed under the [MIT License](https://github.com/avto-dev/data-migrations-laravel/blob/master/LICENSE).

###  Health Score

46

—

FairBetter than 93% of packages

Maintenance54

Moderate activity, may be stable

Popularity19

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity82

Battle-tested with a long release history

 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.

###  Release Activity

Cadence

Every ~260 days

Recently: every ~439 days

Total

11

Last Release

315d ago

Major Versions

v1.2.0 → v2.0.02019-07-15

PHP version history (8 changes)v1.0.0PHP ^5.6 || &gt;=7.0 &lt;7.3

v1.1.0PHP &gt;=7.0 &lt;7.3

v1.2.0PHP &gt;=7.0

v2.0.0PHP ^7.1.3

v2.2.0PHP ^7.2

v2.4.0PHP ^7.3 || ^8.0

v2.5.0PHP ^8.1

v2.7.0PHP ^8.2

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/6119929?v=4)[Eldario](/maintainers/eldario)[@eldario](https://github.com/eldario)

![](https://avatars.githubusercontent.com/u/52275?v=4)[Zaboday](/maintainers/zaboday)[@Zaboday](https://github.com/Zaboday)

---

Top Contributors

[![tarampampam](https://avatars.githubusercontent.com/u/7326800?v=4)](https://github.com/tarampampam "tarampampam (8 commits)")[![eldario](https://avatars.githubusercontent.com/u/6119929?v=4)](https://github.com/eldario "eldario (3 commits)")[![helloween141](https://avatars.githubusercontent.com/u/6762347?v=4)](https://github.com/helloween141 "helloween141 (2 commits)")[![korobovn](https://avatars.githubusercontent.com/u/56722177?v=4)](https://github.com/korobovn "korobovn (1 commits)")[![IgorKorytin](https://avatars.githubusercontent.com/u/56302950?v=4)](https://github.com/IgorKorytin "IgorKorytin (1 commits)")[![gomzyakov](https://avatars.githubusercontent.com/u/1460709?v=4)](https://github.com/gomzyakov "gomzyakov (1 commits)")[![IlyaKislitsin](https://avatars.githubusercontent.com/u/26906044?v=4)](https://github.com/IlyaKislitsin "IlyaKislitsin (1 commits)")

---

Tags

datadatabaselaravelmigrationspackagelaravelmigrationdata

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/avto-dev-data-migrations-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/avto-dev-data-migrations-laravel/health.svg)](https://phpackages.com/packages/avto-dev-data-migrations-laravel)
```

###  Alternatives

[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k12.1M99](/packages/laravel-pulse)[laravel/cashier

Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.

2.5k25.9M107](/packages/laravel-cashier)[tucker-eric/eloquentfilter

An Eloquent way to filter Eloquent Models

1.8k4.8M26](/packages/tucker-eric-eloquentfilter)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[laravel-zero/framework

The Laravel Zero Framework.

3371.4M369](/packages/laravel-zero-framework)

PHPackages © 2026

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