0jkb/schemator

Schemator是一个高级的Laravel扩展包,旨在通过自动生成Eloquent模型和可选的Filament资源来简化开发工作流程。它提供了诸如选择性表生成、跳过默认的Laravel表以及增强的Laravel Sanctum模型生成等特性。

1.2 2024-02-09 20:11 UTC

This package is auto-updated.

Last update: 2024-09-09 21:27:42 UTC


README

Schemator是一个Laravel扩展包,旨在根据您的数据库模式自动生成Eloquent模型和Filament资源。它通过自动生成具有属性和关系的模型来简化Laravel项目中模型的初始设置。

特性

  • 自动为每个数据库表生成Eloquent模型。
  • 支持多种关系,包括belongsTohasManyhasOnebelongsToManymorphOnemorphMany
  • 如果已安装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许可证授权。