openapi-generator/samples/schema/petstore/mysql
Justin Black 9ec594eec5 [Spec] adds XmlItem model and route for xml testing (#1883)
* Adds xmlitem model and route, rest-assured Api suffix fix, updates pytest and pytest-cov versions

* Adds python client sample files

* Adds samples update

* Adds rest-assured sample client update

* Adds sample updates in ensure-up-to-date

* Changes rest-assured files back to master version, removes fix for issue #13

* Updates samples
2019-01-26 17:26:38 +08:00
..
.openapi-generator update petstore samples 2018-11-08 18:32:48 +08:00
.openapi-generator-ignore MySQL Schema Generator #955 (#1055) 2018-10-01 15:59:18 +08:00
mysql_schema.sql [Spec] adds XmlItem model and route for xml testing (#1883) 2019-01-26 17:26:38 +08:00
README.md MySQL Schema Generator #955 (#1055) 2018-10-01 15:59:18 +08:00

MySQL Schema Codegen

Main goal of this generator is to provide database structure file almost identical you usually generate with:

  • PHPMyAdmin (Export structure only, SQL syntax)
  • Adminer
  • mysqldump function

MySQL documentation

Requirements

  • MySQL Server ^5.7.8 (JSON column type added)

Openapi Data Type to MySQL Data Type mapping

Openapi Data Type Openapi Data Format Dependent properties MySQL Data Types Default MySQL Data Type
integer int32 minimum / maximum / minimumExclusive / maximumExclusive TINYINT / SMALLINT / MEDIUMINT/ INT / BIGINT INT
integer int64 minimum / maximum / minimumExclusive / maximumExclusive TINYINT / SMALLINT / MEDIUMINT / INT / BIGINT BIGINT
boolean TINYINT TINYINT
number float DECIMAL DECIMAL
number double DECIMAL DECIMAL
string minLength / maxLength CHAR / VARCHAR / TEXT / MEDIUMTEXT / LONGTEXT TEXT
string byte TEXT TEXT
string binary MEDIUMBLOB MEDIUMBLOB
file MEDIUMBLOB MEDIUMBLOB
string date DATE DATE
string date-time DATETIME DATETIME
string enum ENUM ENUM
array JSON JSON
object JSON JSON
\Model\User (referenced definition) TEXT TEXT

How to use

Produced file(mysql_schema.sql) contains every table definition. Current implementation doesn't drop or modify existed tables, if you want rewrite whole schema make sure they're not presented.

PHPMyAdmin

  1. Choose Import tab from the home screen
  2. In section File to import click to Choose File and find generated mysql_schema.sql
  3. Make sure Format selector set to SQL
  4. Push Go button

Adminer

  1. Click Import link in left sidebar
  2. In File upload fieldset click to Choose Files and find generated mysql_schema.sql
  3. Push Execute button