abdelrahmanrafaat/schema-to-code

将数据库架构转换为Laravel代码(迁移 & 模型)

dev-master / 1.0.x-dev 2018-04-05 13:14 UTC

This package is not auto-updated.

Last update: 2024-09-23 13:23:32 UTC


README

将关系型数据库架构转换为具有预定义语法的代码(模型 & 迁移)的Laravel包

包用例

  • 如果您想快速搭建模型和迁移,无需编写大量命令,也不必在多个文件中定义模型和迁移中的关系
  • 例如创建MVP或小型项目,您已经有一个心中的数据库架构

1- 包安装

  $ composer require abdelrahmanrafaat/schema-to-code:dev-master

2- 包使用

  • 创建架构文件并将其放置在项目根目录可访问的任何位置
  • 架构文件应具有 .txt 扩展名
  • 在app目录中创建schema.txt
  $ touch app/schema.txt

3- 编写您的架构

  • 架构应具有偶数个非空行

模型语法

  • 模型行 - 每行 两个 模型,用双冒号 : 分隔,如下所示
  • user:profile actor:movie cart:product

关系语法

  • 定义两个模型之间关系的行,如下所示
  • 1:1 1:m m:1 m:m
一对一关系
  • 将用户和配置文件定义为一对一关系
  • (用户有一个配置文件配置文件属于用户) 它将写成这样
  user : profile
    1  :   1 
一对多关系
  • 将用户和订单定义为一对多关系
  • (用户有多个订单订单属于用户) 它将写成这样
  user : order
    1  :   m 

或者像这样

  order : user
    m   :  1 
多对多关系
  • 将产品和购物车定义为多对多关系
  • (购物车有多个产品产品可以属于多个购物车) 它将写成这样
  cart : product
    m  :   m 

或者像这样

  cart : product
    m  :   m 
一个完整的架构示例
User:Profile
1:1

User:Actor
1:1

Actor:Movie
M:m

Movie:Review
1:M

Review:User
M:1

4- 将架构转换为代码

  • 您可以将app/schema.txt替换为您之前创建的架构文件的路径
  $ php artisan conver:schema-to-code app/schema.txt

5- 命令完成后,将生成创建的迁移和模型的报告

6- 迁移

  • 现在,只需运行迁移命令即可在您的数据库中创建表和关系
  $ php artisan migrate

7- 探索

  • 现在打开/app目录中创建的模型,以查看为每个模型定义的关系方法和如何在代码中调用它们
  • 打开/database/migrations目录,查看关系定义,并开始为每个表添加一些字段

注意事项

  • 请注意:如果您的架构文件中有现有模型,则它们将被覆盖
  • 模型创建在/app目录中
  • 迁移创建在/database/migrations目录中
  • 所有创建的迁移都遵循Laravel命名约定,模型和迁移中的关系也遵循Laravel命名约定

祝您编码愉快 ^_^