sqlStatementsDirectory
Where the DDL describing your schema lives, when it is not among your statements.
Left empty — the default — the schema is read from the statements YoSQL already parses, so
a project that keeps its create table statements alongside its queries needs no
configuration at all.
Point this at a directory to read the DDL from somewhere else: a Flyway or Liquibase
migrations directory, most usefully. alter table applies to whatever came before it, so
the files are read in the order they applied: a V<version>__<description>.sql name is
ordered by its version, comparing each numeric segment as a number, which puts V2__ ahead
of V10__ where sorting the names as text would not. Everything else — a repeatable
R__ migration, a plain schema.sql — keeps name order after those, so a directory that
is not migrations at all is read exactly as its names sort.
DDL marked with a vendor
builds that vendor’s schema rather than the
shared one, so a project supporting several databases describes only the tables that differ
more than once. The mark also decides how the column types are spelled: bytea,
timestamptz and bigserial mean what PostgreSQL means by them once the DDL says it is
PostgreSQL’s, and every statement reading those columns gets the type without declaring a
vendor of its own. Marking the schema is the way to say which database a project uses;
marking a statement says the narrower thing, that it is written for that database and is
the fallback for no other.
Related Options
Also in this group: validation , vendor .
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-sql-statements-directory=configValue
Gradle
In order to use YoSQL together with Gradle
, take a look at the tooling documentation for Gradle
. The sqlStatementsDirectory setting can be configured using Gradle in Kotlin syntax like this:
plugins {
java
id("wtf.metio.yosql") version "2026.8.8"
}
yosql {
schema {
sqlStatementsDirectory.set(configValue)
}
}
or in Groovy syntax like this:
plugins {
id "java"
id "wtf.metio.yosql" version "2026.8.8"
}
yosql {
schema {
sqlStatementsDirectory = configValue
}
}
Maven
In order to use YoSQL together with Maven
, take a look at the tooling documentation for Maven
. The sqlStatementsDirectory 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>
<sqlStatementsDirectory>configValue</sqlStatementsDirectory>
</schema>
</configuration>
</plugin>
</plugins>
</build>