## 問題点
実用案件でmutationを黙々と増やしていくと、
api/app/graphql/mutations/
に以下例のようにファイルが溢れてしまう。
(例)
create_user_mutation.rb
update_user_mutation.rb
delete_user_mutation.rb
create_news_mutation.rb
update_news_mutation.rb
delete_news_mutation.rb
create_item_mutation.rb
update_item_mutation.rb
delete_item_mutation.rb
create_catalog_mutation.rb
update_catalog_mutation.rb
delete_catalog_mutation.rb
Generateコマンド
自分はDockerを利用しているため以下のようになりますが、Dockerを利用しない場合は通常のRailsコマンドで大丈夫です。(Userを例に)
docker-compose exec 環境名 rails g graphql:mutation Users::UserCreateMutation
docker-compose exec 環境名 rails g graphql:mutation Users::UserUpdateMutation
docker-compose exec 環境名 rails g graphql:mutation Users::UserDeleteMutation
*CreateMutation
だと他階層のCreateMutation命名で被る恐れがあり利用できない模様なのでUserCreateMutation
とする。
ファイルの確認
app/graphql/mutations/users/user_create_mutation.rb
mutation配下にusersのディレクトリが生成され、その配下にmutationのファイルが生成されるので確認。
/app/graphql/types/mutation_type.rb
field :users/user_create_mutation, mutation: Mutations::Users::UserCreateMutation
ファイルに上記のようなfieldが追加されるので、いい感じに修正する。
field :users_create_mutation, mutation: Mutations::Users::UserCreateMutation
ひとこと
わたしの調べ方が悪いのか、graphqの文献が少なく雑魚園児には辛み。ゴミのようなメモですみません。