xmarkclx/laravel-autodb

根据少数PHP文档注释自动为Laravel创建数据库。

1.0.0 2016-03-13 08:56 UTC

This package is not auto-updated.

Last update: 2024-09-26 00:25:22 UTC


README

根据少数PHP文档注释自动创建数据库。

  • 易于使用
  • 稳定
  • 全面测试:主要功能经过稳定性测试
  • 框架无关
  • 易于合作
  • 支持Laravel / Eloquent

用法

通过composer安装

composer require xmarkclx/laravel-autodb

创建数据库注释

假设我们有一个类似这样的类注释

/**
 * Class Example
 *
 * @db===
 * @property string $avatar_url
 * @property int $id #increments         
 * @db===
 **
 * @package App
 */
 class Example implements AutogeneratedDBFields
 {

我们运行

    php artisan autodb

会发生什么

  • 如果尚未创建,将创建名为example的表。
  • 在该表中
    • 创建名为avatar_url的字符串。
    • 创建名为id的整数,它是主键并自动递增。

常见问题解答

为什么?

  • 创建数据库迁移并更改它们是耗时的工作。这将使它更快。
  • 此外,这将避免多个迁移尝试修改相同数据库字段时发生的迁移冲突。
  • 进一步来说,由于它与phpdoc标签相关,您可以在IDE中获得数据库字段的自动完成建议。
  • 不再需要打开数据库查看器来了解模型有哪些字段,只需查看模型文件即可。
  • 敏捷友好:快速进行数据库改进。

为什么不直接让这个工具创建迁移?

嗯,我们可以,而且并不难,但我还没有时间做那件事。

如果您想帮忙,您只需要制作一个汇编器,只需看看src/LaravelModelAssembler.php是如何工作的,您就可以制作一个LaravelMigrationAssembler.php或类似的东西,用于组装迁移而不是数据库。

示例

  • 我创建了一个迁移,其名称基于一个测试,现在是一个整数。
  • 生产服务器获取了我的迁移并进行了迁移。
  • 生产服务器的名称现在都是整数。
  • 因此,决定自动迁移数据而不是创建迁移文件。

我想帮助使这个项目变得更好。

有关架构信息,请参阅docs/Architecture.md。