Skip to content

OpenAPI Generator

   

Generators Listを眺めていたら、mysql-schemaなんてのがあったので、試してみた。

$ wget https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml
$ docker run --rm \
  -v ${PWD}:/local openapitools/openapi-generator-cli generate \
  -i /local/petstore.yaml \
  -g mysql-schema \
  -o /local/out
$ ls -R out/
out/:
Model  README.md  mysql_schema.sql

out/Model:
ApiResponse.sql  Category.sql  Order.sql  Pet.sql  Tag.sql  User.sql

out/mysql_schema.sqlにDDLが作成されていた。

out/Modelには、CRUD用SQLのテンプレートが作られていた。

petstore.yamlcomponents > schemasの定義がもとになっているのかな。

制約とか表現できてないので、出力されたものをそのまま使うことはできないけれど、可能性を感じられるツールだと思う。