定制 always-open/laravel-graphql-schema-generator 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

always-open/laravel-graphql-schema-generator

Composer 安装命令:

composer require always-open/laravel-graphql-schema-generator

包简介

Generate GraphQL schema from existing Laravel models/database

README 文档

README

Generate GraphQL schema from existing Laravel models/database

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

This package will generate a GraphQL schema from your existing Laravel models and database. It reads through the existing models, relationships, and database to generate a GraphQL schema and optionally queries for each model. You can also specify additional models such as vendor/packages models to be included.

Installation

You can install the package via composer:

composer require always-open/laravel-graphql-schema-generator

You can publish the config file with:

php artisan vendor:publish --tag="laravel-graphql-schema-generator-config"

This is the contents of the published config file:

return [
    'custom_type_mappings' => [
         'timestamp' => 'DateTime',
         'datetime'  => 'DateTime',
         'date'      => 'Date',
    ],

    'custom_scalar_definitions' => [
        'scalar Date @scalar(class: "Nuwave\\Lighthouse\\Schema\\Types\\Scalars\\Date")',
        'scalar DateTime @scalar(class: "Nuwave\\Lighthouse\\Schema\\Types\\Scalars\\DateTime")',
    ],

    'model_path' => app_path('Models'),

    'model_stub' => __DIR__ . '/../stubs/graphql_schema.stub',

    'schema_path' => app_path('../graphql'),
];

Usage

Basic/default usage

This command will output the GraphQL schema to the schema_path specified in the config file. It will only generate the schema file and will only parse the models in the model_path specified in the config file.

php artisan laravel-graphql-generator:create-schema

Outputting queries

To also add queries to the schema, pass the --include-queries flag. This will generate a GraphQL schema file and query files for each model in the model_path specified in the config file.

php artisan laravel-graphql-generator:create-schema --include-queries

Adding additional models

If there are additional models that exist outside of the model_path that you want to include, you can pass the --additional-models flag. This is very useful if you have vendor/package models that you want to include.

php artisan laravel-graphql-generator:create-schema --additional-models="\\Spatie\\Tags\\Tag"

You can also pass in a comma separated list of models to include.

php artisan laravel-graphql-generator:create-schema --additional-models="\\Spatie\\Tags\\Tag","\\Spatie\\Activitylog\\Models\\Activity"

Adding additional query properties

The default queries will be created using primary keys and unique indices. If you want to add additional properties to search you can pass them in using the --additional-query-properties flag. It will be applied to every model that has the specified property.

This command could add queries using the properties key and name. Support for multiple fields isn't supported by the pass in as of this version.

php artisan laravel-graphql-generator:create-schema --additional-query-properties=key,name

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 3.17k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-08-19

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固