avto-dev/data-migrations-laravel

Laravel应用程序中的数据迁移包

v2.6.0 2024-05-31 11:43 UTC

This package is auto-updated.

Last update: 2024-08-31 00:31:20 UTC


README

Laravel

数据库数据迁移为Laravel

Version PHP Version Build Status Coverage Downloads count License

本包向您的Laravel应用程序添加数据库数据迁移功能。

安装

使用以下命令通过composer安装此包

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

需要已安装 composer如何安装composer)。

您需要修复包的主要版本。

发布配置文件,通过它可以重写存储迁移数据数据库中的表名、连接名以及其他设置

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

之后,根据您的需要编辑文件 ./config/data-migrations.php 并执行以下命令完成安装:

$ php ./artisan data-migrate:install

使用方法

本包解决的问题是在Laravel中缺少内置的迁移“实战”数据到应用程序中的机制(seeds是填充初始假数据的机制,而数据库迁移负责方案等,但是数据)。

为了更好地了解本包的工作机制,让我们考虑以下情况 - 您的应用程序使用2个连接到不同数据库(defaultsecond_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目录下所有文件(除了以点开头的文件),如果在其表中未发现其执行记录,将尝试执行它们(路径可以在配置文件中重写)。

特点

使用本包时,应了解以下特点

  • 如果在数据迁移文件目录./storage/data_migrations中创建一个新的目录,并在其中放置迁移文件 - 则该目录的名称将被用作数据库连接名(在文件./config/database.php中描述),用于应用该目录中包含的迁移;
  • 使用实现ExecutorContract接口的特殊类来应用迁移。您可以在配置文件中指定其完整名称以创建自己的类;
  • 迁移可以通过gzipgzip file.sql)进行打包。如果已安装php扩展zlib,则它们将在运行时解压,前提是迁移文件的名称以.gz结尾;
  • 迁移没有回滚(rollback)机制。

Artisan命令

安装本包后,您将获得以下命令

测试

对于包测试,我们使用phpunit框架和docker-ce + docker-compose作为开发环境。因此,在克隆存储库后,只需在终端中输入以下命令即可

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

更改日志

Release date Commits since latest release

更改日志可以在此处找到

支持

Issues Issues

如果您发现任何包错误,请在当前仓库中 提交一个issue

许可证

这是开源软件,许可协议为MIT许可证