---
title: Documentation for the mysql-schema Generator
---
## METADATA
| Property | Value | Notes |
| -------- | ----- | ----- |
| generator name | mysql-schema | pass this to the generate command after -g |
| generator stability | STABLE | |
| generator type | SCHEMA | |
| generator language | Mysql | |
| generator default templating engine | mustache | |
| helpTxt | Generates a MySQL schema based on the model or schema defined in the OpenAPI specification (v2, v3). | |
## CONFIG OPTIONS
These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to [configuration docs](https://openapi-generator.tech/docs/configuration) for more details.
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|defaultDatabaseName|Default database name for all MySQL queries| ||
|identifierNamingConvention|Naming convention of MySQL identifiers(table names and column names). This is not related to database name which is defined by defaultDatabaseName option|
- **original**
 - Do not transform original names
 - **snake_case**
 - Use snake_case names
 
|original|
|jsonDataTypeEnabled|Use special JSON MySQL data type for complex model properties. Requires MySQL version 5.7.8. Generates TEXT data type when disabled| |true|
|namedParametersEnabled|Generates model prepared SQLs with named parameters, eg. :petName. Question mark placeholder used when option disabled.| |false|
## IMPORT MAPPING
| Type/Alias | Imports |
| ---------- | ------- |
## INSTANTIATION TYPES
| Type/Alias | Instantiated By |
| ---------- | --------------- |
## LANGUAGE PRIMITIVES
- BigDecimal
 
- ByteArray
 
- Date
 
- DateTime
 
- URI
 
- UUID
 
- binary
 
- bool
 
- boolean
 
- byte
 
- char
 
- date
 
- double
 
- file
 
- float
 
- int
 
- integer
 
- long
 
- mixed
 
- number
 
- short
 
- string
 
- void
 
## RESERVED WORDS
- accessible
 
- add
 
- all
 
- alter
 
- analyze
 
- and
 
- as
 
- asc
 
- asensitive
 
- before
 
- between
 
- bigint
 
- binary
 
- blob
 
- both
 
- by
 
- call
 
- cascade
 
- case
 
- change
 
- char
 
- character
 
- check
 
- collate
 
- column
 
- condition
 
- constraint
 
- continue
 
- convert
 
- create
 
- cross
 
- cube
 
- cume_dist
 
- current_date
 
- current_time
 
- current_timestamp
 
- current_user
 
- cursor
 
- database
 
- databases
 
- day_hour
 
- day_microsecond
 
- day_minute
 
- day_second
 
- dec
 
- decimal
 
- declare
 
- default
 
- delayed
 
- delete
 
- dense_rank
 
- desc
 
- describe
 
- deterministic
 
- distinct
 
- distinctrow
 
- div
 
- double
 
- drop
 
- dual
 
- each
 
- else
 
- elseif
 
- empty
 
- enclosed
 
- escaped
 
- except
 
- exists
 
- exit
 
- explain
 
- false
 
- fetch
 
- first_value
 
- float
 
- float4
 
- float8
 
- for
 
- force
 
- foreign
 
- from
 
- fulltext
 
- function
 
- generated
 
- get
 
- grant
 
- group
 
- grouping
 
- groups
 
- having
 
- high_priority
 
- hour_microsecond
 
- hour_minute
 
- hour_second
 
- if
 
- ignore
 
- in
 
- index
 
- infile
 
- inner
 
- inout
 
- insensitive
 
- insert
 
- int
 
- int1
 
- int2
 
- int3
 
- int4
 
- int8
 
- integer
 
- interval
 
- into
 
- io_after_gtids
 
- io_before_gtids
 
- is
 
- iterate
 
- join
 
- json_table
 
- key
 
- keys
 
- kill
 
- lag
 
- last_value
 
- lead
 
- leading
 
- leave
 
- left
 
- like
 
- limit
 
- linear
 
- lines
 
- load
 
- localtime
 
- localtimestamp
 
- lock
 
- long
 
- longblob
 
- longtext
 
- loop
 
- low_priority
 
- master_bind
 
- master_ssl_verify_server_cert
 
- match
 
- maxvalue
 
- mediumblob
 
- mediumint
 
- mediumtext
 
- middleint
 
- minute_microsecond
 
- minute_second
 
- mod
 
- modifies
 
- natural
 
- no_write_to_binlog
 
- not
 
- nth_value
 
- ntile
 
- null
 
- numeric
 
- of
 
- on
 
- optimize
 
- optimizer_costs
 
- option
 
- optionally
 
- or
 
- order
 
- out
 
- outer
 
- outfile
 
- over
 
- partition
 
- percent_rank
 
- persist
 
- persist_only
 
- precision
 
- primary
 
- procedure
 
- purge
 
- range
 
- rank
 
- read
 
- read_write
 
- reads
 
- real
 
- recursive
 
- references
 
- regexp
 
- release
 
- rename
 
- repeat
 
- replace
 
- require
 
- resignal
 
- restrict
 
- return
 
- revoke
 
- right
 
- rlike
 
- role
 
- row
 
- row_number
 
- rows
 
- schema
 
- schemas
 
- second_microsecond
 
- select
 
- sensitive
 
- separator
 
- set
 
- show
 
- signal
 
- smallint
 
- spatial
 
- specific
 
- sql
 
- sql_big_result
 
- sql_calc_found_rows
 
- sql_small_result
 
- sqlexception
 
- sqlstate
 
- sqlwarning
 
- ssl
 
- starting
 
- stored
 
- straight_join
 
- system
 
- table
 
- terminated
 
- then
 
- tinyblob
 
- tinyint
 
- tinytext
 
- to
 
- trailing
 
- trigger
 
- true
 
- undo
 
- union
 
- unique
 
- unlock
 
- unsigned
 
- update
 
- usage
 
- use
 
- using
 
- utc_date
 
- utc_time
 
- utc_timestamp
 
- values
 
- varbinary
 
- varchar
 
- varcharacter
 
- varying
 
- virtual
 
- when
 
- where
 
- while
 
- window
 
- with
 
- write
 
- xor
 
- year_month
 
- zerofill
 
## FEATURE SET
### Client Modification Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|BasePath|✗|ToolingExtension
|Authorizations|✗|ToolingExtension
|UserAgent|✗|ToolingExtension
|MockServer|✗|ToolingExtension
### Data Type Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|Custom|✗|OAS2,OAS3
|Int32|✓|OAS2,OAS3
|Int64|✓|OAS2,OAS3
|Float|✓|OAS2,OAS3
|Double|✓|OAS2,OAS3
|Decimal|✓|ToolingExtension
|String|✓|OAS2,OAS3
|Byte|✓|OAS2,OAS3
|Binary|✓|OAS2,OAS3
|Boolean|✓|OAS2,OAS3
|Date|✓|OAS2,OAS3
|DateTime|✓|OAS2,OAS3
|Password|✓|OAS2,OAS3
|File|✓|OAS2
|Uuid|✗|
|Array|✓|OAS2,OAS3
|Null|✗|OAS3
|AnyType|✗|OAS2,OAS3
|Object|✓|OAS2,OAS3
|Maps|✓|ToolingExtension
|CollectionFormat|✓|OAS2
|CollectionFormatMulti|✓|OAS2
|Enum|✓|OAS2,OAS3
|ArrayOfEnum|✓|ToolingExtension
|ArrayOfModel|✓|ToolingExtension
|ArrayOfCollectionOfPrimitives|✓|ToolingExtension
|ArrayOfCollectionOfModel|✓|ToolingExtension
|ArrayOfCollectionOfEnum|✓|ToolingExtension
|MapOfEnum|✓|ToolingExtension
|MapOfModel|✓|ToolingExtension
|MapOfCollectionOfPrimitives|✓|ToolingExtension
|MapOfCollectionOfModel|✓|ToolingExtension
|MapOfCollectionOfEnum|✓|ToolingExtension
### Documentation Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|Readme|✓|ToolingExtension
|Model|✓|ToolingExtension
|Api|✓|ToolingExtension
### Global Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|Host|✓|OAS2,OAS3
|BasePath|✓|OAS2,OAS3
|Info|✓|OAS2,OAS3
|Schemes|✗|OAS2,OAS3
|PartialSchemes|✓|OAS2,OAS3
|Consumes|✓|OAS2
|Produces|✓|OAS2
|ExternalDocumentation|✓|OAS2,OAS3
|Examples|✓|OAS2,OAS3
|XMLStructureDefinitions|✗|OAS2,OAS3
|MultiServer|✗|OAS3
|ParameterizedServer|✗|OAS3
|ParameterStyling|✗|OAS3
|Callbacks|✗|OAS3
|LinkObjects|✗|OAS3
### Parameter Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|Path|✓|OAS2,OAS3
|Query|✓|OAS2,OAS3
|Header|✓|OAS2,OAS3
|Body|✓|OAS2
|FormUnencoded|✓|OAS2
|FormMultipart|✓|OAS2
|Cookie|✓|OAS3
### Schema Support Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|Simple|✓|OAS2,OAS3
|Composite|✓|OAS2,OAS3
|Polymorphism|✗|OAS2,OAS3
|Union|✗|OAS3
|allOf|✗|OAS2,OAS3
|anyOf|✗|OAS3
|oneOf|✗|OAS3
|not|✗|OAS3
### Security Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|BasicAuth|✗|OAS2,OAS3
|ApiKey|✗|OAS2,OAS3
|OpenIDConnect|✗|OAS3
|BearerToken|✗|OAS3
|OAuth2_Implicit|✗|OAS2,OAS3
|OAuth2_Password|✗|OAS2,OAS3
|OAuth2_ClientCredentials|✗|OAS2,OAS3
|OAuth2_AuthorizationCode|✗|OAS2,OAS3
|SignatureAuth|✗|OAS3
|AWSV4Signature|✗|ToolingExtension
### Wire Format Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|JSON|✗|OAS2,OAS3
|XML|✗|OAS2,OAS3
|PROTOBUF|✗|ToolingExtension
|Custom|✗|OAS2,OAS3