abdelrahmanrafaat / schema-to-code
将数据库架构转换为Laravel代码(迁移 & 模型)
dev-master / 1.0.x-dev
2018-04-05 13:14 UTC
Requires
- php: ~7.1
Requires (Dev)
- orchestra/testbench: ~3.0
- phpunit/phpunit: ~7.0
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命名约定
祝您编码愉快 ^_^