paoloBunga / parkman-schema
从 Prisma Schema 生成 Laravel 模型和迁移
v0.0.2-alpha
2024-08-03 04:49 UTC
Requires
- php: ^7.4|^8.0
- illuminate/support: ^8.0|^9.0|^10.0|^11.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-10-03 05:06:44 UTC
README
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)。有关更多信息,请参阅 许可文件。