norgul / laravel-data-migrations
Laravel 数据迁移支持
Requires
- php: ^7.4||^8.0
- laravel/framework: ^7.0||^8.0||^9.0
Requires (Dev)
- fakerphp/faker: ^1.9.1
- mockery/mockery: ~1.3.3||^1.4.2||^1.4.4
- orchestra/testbench: ^5.8||^7.4
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-14 10:45:16 UTC
README
此包用于向 Laravel 提供无缝的数据迁移。数据迁移是用于您的必需数据库数据(如状态、类型等)的版本控制系统,没有它应用程序将无法运行。
一种替代方案是将这些内容直接嵌入到普通迁移中,另一种方案是仅使用种子文件,这时您需要设计一种机制来区分生产级别的种子文件和开发级别的种子文件。
只要遵循某些方法论并保持一致性,这些都是很好的解决方案。此包的目标是为这种用途提供真正的分离。
安装
使用 composer require norgul/laravel-data-migrations
命令安装包。服务提供程序将自动注册。
使用方法
您可以通过运行以下命令开始使用此包,这些命令遵循 Laravel migration
命令结构,大部分 API 都与它们提供的一样。
请记住,您可以使用 -h
标志来显示特定命令的所有可用选项。
命令
创建数据迁移
php artisan make:data-migration {名称}
创建您的第一个数据迁移。如果数据库目录中尚不存在 data-migrations
目录,则将创建它,这是您将找到熟悉命名结构的地方。
包在后台使用 Laravel 迁移器,所以如果您运行
php artisan make:data-migration add_user_types_to_users_table
表猜测器将自动添加一个带有 users
表占位符的数据迁移。
尽管您可以在数据迁移中引用 Eloquent 类甚至您的种子文件,但强烈建议您使用 DB
门面来执行查询。原因在于您的类和种子文件可能会随着时间的推移而更改,从而使得您未来的数据迁移执行方式不同。始终使用 DB
门面将确保最终结果始终相同。
数据迁移
php artisan data-migrate
使用 data-migrate
命令执行您的迁移。这些将像标准迁移一样执行一次(通过执行 up()
函数)。
如果数据库中尚不存在 data_migrations
表,则命令将自动创建该表。
数据迁移回滚
php artisan data-migrate:rollback
您可以通过执行此命令来撤销更改,这将触发数据迁移中的 down()
函数。
数据迁移安装
php artisan data-migrate:install
您永远不需要显式运行此命令。它仅用于文档目的。
此命令将在您的数据库中创建 data_migrations
表。