wmgbit / laravel-models-migration

将Laravel迁移定义放入模型中,并保持与数据库同步

v1.0.0 2022-05-20 13:02 UTC

This package is auto-updated.

Last update: 2024-09-20 18:13:30 UTC


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 分支出来的