---
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