0jkb / schemator
Schemator是一个高级的Laravel扩展包,旨在通过自动生成Eloquent模型和可选的Filament资源来简化开发工作流程。它提供了诸如选择性表生成、跳过默认的Laravel表以及增强的Laravel Sanctum模型生成等特性。
1.2
2024-02-09 20:11 UTC
Requires
- php: ^7.3|^8.0
- doctrine/dbal: >=2.5
- illuminate/console: >=5.1
- illuminate/contracts: >=5.1
- illuminate/database: >=5.1
- illuminate/filesystem: >=5.1
- illuminate/support: >=5.1
Requires (Dev)
- phpunit/phpunit: ^9
This package is auto-updated.
Last update: 2024-09-09 21:27:42 UTC
README
Schemator是一个Laravel扩展包,旨在根据您的数据库模式自动生成Eloquent模型和Filament资源。它通过自动生成具有属性和关系的模型来简化Laravel项目中模型的初始设置。
特性
- 自动为每个数据库表生成Eloquent模型。
- 支持多种关系,包括
belongsTo
、hasMany
、hasOne
、belongsToMany
、morphOne
和morphMany
。 - 如果已安装Filament,将生成Filament资源,支持各种选项,如
--simple
、--generate
、--soft-deletes
和--view
。 - 在每个模型中嵌入一条注释,指明由Schemator创建,以增强可读性和追踪。
要求
- Laravel 8或更高版本
- PHP 7.3或更高版本
- FilamentPHP(用于资源生成,可选)
安装
要在您的Laravel项目中安装Schemator,请运行以下命令
composer require 0jkb/Schemator
安装后,您可以使用Schemator提供的Artisan命令。
用法
- -f | --filament-options: 使用特定选项激活Filament资源生成。接受缩写(g, s, d, v, e)和完整单词(generate, simple, soft-deletes, view, empty)。例如,-f gs或-f generate,simple。
- --skip=用于指定要跳过的表。
- --skip-default作为标志,用于跳过Laravel的默认表。
- --only=用于为特定表生成模型。
仅生成模型
php artisan schemator:generate
要生成模型和空白的Filament资源,请运行(e | empty选项)
php artisan schemator:generate -f e
- 这将创建几个文件在app/Filament/Resources目录下,包括空表单和表格。
要生成模型和可选的Filament资源,请运行
php artisan schemator:generate -f [options]
生成Filament资源(s | simple选项)
php artisan schemator:generate -f s
- 此命令将为每个表生成Filament资源,并应用简单选项。
生成Filament资源(g | generate选项)
php artisan schemator:generate -f g
生成模型和Filament资源(带有所有选项)
php artisan schemator:generate -f sgdv
跳过特定表(--skip选项)
php artisan schemator:generate -f sgdv --skip=users,logs
为特定表生成模型(--only选项)
php artisan schemator:generate -f sgdv --only=users,posts
- 此命令将为'users'和'posts'表生成模型。
生成模型和Filament资源,跳过Laravel默认表(--skip-default选项)
php artisan schemator:generate -f sgdv --skip-default
贡献
Schemator欢迎贡献。您可以通过以下方式贡献
- 提交错误报告和功能请求。
- 编写新功能或错误修复的代码。
- 改进文档。
请随意fork仓库并提交拉取请求。
许可证
Schemator是开源软件,根据MIT许可证授权。