title
Documentation for the ktorm-schema Generator
Property
Value
Notes
generator name
ktorm-schema
pass this to the generate command after -g
generator stability
BETA
generator type
SCHEMA
generator language
Ktorm
generator default templating engine
mustache
helpTxt
Generates a kotlin-ktorm schema (beta)
These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to configuration docs for more details.
Option
Description
Values
Default
addSurrogateKey
Adds the surrogate key for all models that don't already have a primary key (named by the above convention)
false
additionalModelTypeAnnotations
Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)
null
artifactId
Generated artifact id (name of jar).
ktorm
artifactVersion
Generated artifact's package version.
1.0.0
defaultDatabaseName
Default database name for all queries
sqlite.db
enumPropertyNaming
Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'
original
groupId
Generated artifact package's organization (i.e. maven groupId).
org.openapitools
identifierNamingConvention
Naming convention of Ktorm 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
importModelPackageName
Package name of the imported models
org.openapitools.database.models
modelMutable
Create mutable models
false
packageName
Generated artifact package name.
org.openapitools.database
primaryKeyConvention
Primary key naming convention
id
sortModelPropertiesByRequiredFlag
Sort model properties to place required parameters before optional parameters.
null
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters.
null
sourceFolder
source folder for generated code
src/main/kotlin
Type/Alias
Imports
BigDecimal
java.math.BigDecimal
Date
java.time.LocalDate
DateTime
java.time.OffsetDateTime
File
java.io.File
LocalDate
java.time.LocalDate
LocalDateTime
java.time.LocalDateTime
LocalTime
java.time.LocalTime
Timestamp
java.sql.Timestamp
URI
java.net.URI
UUID
java.util.UUID
Type/Alias
Instantiated By
array
kotlin.collections.ArrayList
list
kotlin.collections.ArrayList
map
kotlin.collections.HashMap
kotlin.Array
kotlin.Boolean
kotlin.Byte
kotlin.ByteArray
kotlin.Char
kotlin.Double
kotlin.Float
kotlin.Int
kotlin.Long
kotlin.Short
kotlin.String
kotlin.collections.List
kotlin.collections.Map
kotlin.collections.MutableList
kotlin.collections.MutableMap
kotlin.collections.MutableSet
kotlin.collections.Set
abort
action
add
after
all
alter
always
analyze
and
any
as
asc
attach
autoincr
autoincrement
before
begin
between
bitand
bitnot
bitor
blob
by
cascade
case
cast
check
collate
column
comma
commit
concat
conflict
constraint
create
cross
current
current_date
current_time
current_timestamp
database
default
deferrable
deferred
delete
desc
detach
distinct
do
dot
drop
each
else
end
eq
escape
except
exclude
exclusive
exists
explain
fail
filter
first
float
following
for
foreign
from
full
ge
generated
glob
group
groups
gt
having
id
if
ignore
immediate
in
index
indexed
initially
inner
insert
instead
integer
intersect
into
is
isnull
join
key
last
le
left
like
limit
lp
lshift
lt
match
minus
natural
ne
no
not
nothing
notnull
null
nulls
of
offset
on
or
order
others
outer
over
partition
plan
plus
pragma
preceding
primary
query
raise
range
recursive
references
regexp
reindex
release
rem
rename
replace
restrict
right
rollback
row
rows
rp
rshift
savepoint
select
set
slash
star
string
table
temp
temporary
then
ties
to
transaction
trigger
unbounded
union
unique
update
using
vacuum
values
variable
view
virtual
when
where
window
with
without
Client Modification Feature
Name
Supported
Defined By
BasePath
✗
ToolingExtension
Authorizations
✗
ToolingExtension
UserAgent
✗
ToolingExtension
MockServer
✗
ToolingExtension
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
Name
Supported
Defined By
Readme
✓
ToolingExtension
Model
✓
ToolingExtension
Api
✓
ToolingExtension
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
Name
Supported
Defined By
Path
✓
OAS2,OAS3
Query
✓
OAS2,OAS3
Header
✓
OAS2,OAS3
Body
✓
OAS2
FormUnencoded
✓
OAS2
FormMultipart
✓
OAS2
Cookie
✓
OAS3
Name
Supported
Defined By
Simple
✓
OAS2,OAS3
Composite
✓
OAS2,OAS3
Polymorphism
✗
OAS2,OAS3
Union
✗
OAS3
allOf
✗
OAS2,OAS3
anyOf
✗
OAS3
oneOf
✗
OAS3
not
✗
OAS3
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
Name
Supported
Defined By
JSON
✗
OAS2,OAS3
XML
✗
OAS2,OAS3
PROTOBUF
✗
ToolingExtension
Custom
✗
OAS2,OAS3