sqlStatementsDirectory

Talks about:

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.

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>