jdion84 / lucid
Declare database schemas inside Laravel models.
1.0.0
2024-02-16 02:04 UTC
Requires
- doctrine/dbal: ^3.7
README
Declare database schemas inside Laravel models.
Installation
Require this package via composer:
composer require jdion84/lucid
Usage
Create a new model class with a schema method:
php artisan make:schema Post
Or, add a schema method to an existing model:
namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Jdion84\Lucid\Table; class Post extends Model { use HasFactory; public function schema(Table $table) { $table->id(); $table->string('title')->index(); $table->text('body'); $table->timestamp('created_at'); $table->timestamp('updated_at'); } }
Migrate & sync model schema methods with the database:
php artisan migrate:schemas
Commands
Create a new model class with a schema method:
php artisan make:schema {name} {--p|pivot} {--force}
Migrate & sync model schema methods with the database:
migrate:schemas {--f|fresh} {--s|seed} {--force}