vendor
Which database your DDL is written for, when the DDL itself does not say.
Names the database whose spellings the schema uses, so that bytea, timestamptz,
bigserial, jsonb and the rest of a dialect’s own type names are understood. Without it
only the spellings every database shares are — a column declared bytea reads as unknown,
which means no inferred parameter type and no generated result row type for any statement
touching it.
A schema file can say the same thing with a -- vendor: line of its own, and that is the
better place when a project describes several databases. This setting exists for the schema
you cannot edit: a Flyway or Liquibase migration directory, where every file is checksummed
and adding a comment to one already applied makes the tool refuse to run.
Write it the way a JDBC driver reports the database, which is the same spelling a
statement’s own vendor
is matched against — PostgreSQL, MySQL,
MariaDB, H2, Oracle, Microsoft SQL Server. It says nothing about which statements
are generated: every statement still applies to every database, and a file that names its
own vendor keeps it.
Configuration Options
Option: ‘PostgreSQL’
Reads the schema as PostgreSQL’s, so a bytea column gives byte[] and a timestamptz gives Instant.
Option: ''
The default. Only the type spellings every supported database shares are understood, unless a schema file names a vendor itself.
Related Options
Also in this group: sqlStatementsDirectory , validation .
Tooling
Ant
In order to use YoSQL together with Ant
, take a look at the tooling documentation for Ant
.
Bazel
In order to use YoSQL together with Bazel
, take a look at the tooling documentation for Bazel
.
CLI
In order to use YoSQL on the command line, take a look at the tooling documentation for CLI
.
yosql generate --schema-vendor=configValue
Gradle
In order to use YoSQL together with Gradle
, take a look at the tooling documentation for Gradle
. The vendor setting can be configured using Gradle in Kotlin syntax like this:
plugins {
java
id("wtf.metio.yosql") version "2026.8.8"
}
yosql {
schema {
vendor.set(configValue)
}
}
or in Groovy syntax like this:
plugins {
id "java"
id "wtf.metio.yosql" version "2026.8.8"
}
yosql {
schema {
vendor = configValue
}
}
Maven
In order to use YoSQL together with Maven
, take a look at the tooling documentation for Maven
. The vendor setting can be configured using Maven like this:
<build>
<plugins>
<plugin>
<groupId>wtf.metio.yosql.tooling</groupId>
<artifactId>yosql-tooling-maven</artifactId>
<version>2026.8.8</version>
<configuration>
<schema>
<vendor>configValue</vendor>
</schema>
</configuration>
</plugin>
</plugins>
</build>