paoloBunga/parkman-schema

从 Prisma Schema 生成 Laravel 模型和迁移

v0.0.2-alpha 2024-08-03 04:49 UTC

This package is auto-updated.

Last update: 2024-10-03 05:06:44 UTC


README

Latest Version on Packagist Total Downloads GitHub Actions

Parkman Schema 是一个强大的 Laravel 扩展包,可以从 Prisma 模式文件生成 Laravel 迁移和模型。它通过自动创建必要的数据库结构和 Eloquent 模型来简化从 Prisma 到 Laravel 的迁移过程。

安装

您可以通过 composer 安装此包

composer require paulobunga/parkman-schema

使用方法

生成迁移

要从您的 Prisma 模式生成 Laravel 迁移

use Paulobunga\ParkmanSchema\Parkman;

$parkman = new Parkman();
$parkman->setSchema(file_get_contents('path/to/your/schema.prisma'));
$parkman->generateMigrations();

这将创建位于您的 Laravel 项目 database/migrations 目录中的迁移文件。

生成模型

要从您的 Prisma 模式生成 Eloquent 模型

use Paulobunga\ParkmanSchema\Parkman;

$parkman = new Parkman();
$parkman->setSchema(file_get_contents('path/to/your/schema.prisma'));
$parkman->generateModels();

这将创建位于您的 Laravel 项目 app/Models 目录中的模型文件。

使用 Artisan 命令

该包还提供 Artisan 命令以方便使用

# Generate migrations
php artisan parkman:migrations path/to/your/schema.prisma

# Generate models
php artisan parkman:models path/to/your/schema.prisma

自定义模板

您可以将模板文件发布出来以自定义生成的迁移和模型

php artisan vendor:publish --provider="Paulobunga\ParkmanSchema\ParkmanSchemaServiceProvider" --tag="stubs"

这将把模板文件复制到您的 Laravel 项目中的 resources/stubs/vendor/parkman-schema,您可以在那里修改它们以符合您的需求。

功能

  • 从 Prisma 模式生成 Laravel 迁移
  • 创建带有关系的 Eloquent 模型
  • 支持表的创建、修改和删除
  • 处理列的添加、删除和重命名
  • 管理外键约束
  • 根据依赖关系自动重新排序迁移

测试

composer test

变更日志

有关最近变更的更多信息,请参阅 变更日志

贡献

有关详细信息,请参阅 贡献指南

安全

如果您发现任何安全问题,请通过电子邮件 paulobunga.one@gmail.com 而不是使用问题跟踪器来报告。

鸣谢

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件