wmgbit / laravel-models-migration
将Laravel迁移定义放入模型中,并保持与数据库同步
v1.0.0
2022-05-20 13:02 UTC
Requires
- php: ^7.3|^8.0
- doctrine/dbal: ^3.0
README
将Laravel迁移定义放入模型中,并保持与数据库同步
安装
composer require wmgbit/laravel-models-migration
在模型类内部
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Schema\Blueprint; class ModelExample extends Model { function migration(Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->foreignId('user_id')->constrained(); $table->unique(['name','user_id']); $table->rememberToken(); $table->timestamps(); } }
命令
运行给定命令以运行Laravel核心迁移脚本以及模型类中找到的数据库定义
php artisan migrate:models
限制
该命令将保留与列名相同的列数据。但是,尚未实现重命名给定列的方法。因此,更改列名将简单地是针对该给定列的“删除”加“添加”任务。可能在未来的版本中添加。
执行顺序
该命令根据外键约束的定义检测和处理模型之间的依赖关系
致谢
此包是从Laravel Automatic Migrations 分支出来的