validation

Talks about:

What to do about a statement that disagrees with the schema.

WARN is the default, so upgrading adds warnings and never a failure. Turning it up to ERROR in an existing project is a migration rather than a switch: the first run finds everything at once, and a build that fails on all of it is a build nobody can bisect. Deal with what WARN reports first, then move up so that nothing new gets in.

A single statement can opt out with validateSchema in its front matter, for the query this cannot read and you do not want to argue with.

Configuration Options

Option: ‘OFF’

Says nothing at all. Statements are generated exactly as they were before any of this existed.

Option: ‘WARN’

The default. Every disagreement is reported and the build carries on, so nothing that passed before starts failing.

Option: ‘ERROR’

A disagreement fails the build, naming the file, the statement and what it disagreed about.

Also in this group: sqlStatementsDirectory .

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 --schema-validation=configValue

As long as the name of the config option is unique across all configuration groups, you can use the shorter form:

yosql --validation=configValue

Gradle

In order to use YoSQL together with Gradle , take a look at the tooling documentation for Gradle . The validation setting can be configured using Gradle in Kotlin syntax like this:

plugins {
  java
  id("wtf.metio.yosql") version "2023.2.22"
}

yosql {
  schema {
    validation.set(configValue)
  }
}

or in Groovy syntax like this:

plugins {
  id "java"
  id "wtf.metio.yosql" version "2023.2.22"
}

yosql {
  schema {
    validation = configValue
  }
}

Maven

In order to use YoSQL together with Maven , take a look at the tooling documentation for Maven . The validation setting can be configured using Maven like this:

<build>
  <plugins>
    <plugin>
      <groupId>wtf.metio.yosql</groupId>
      <artifactId>yosql-tooling-maven</artifactId>
      <version>2023.2.22</version>
      <configuration>
        <schema>
          <validation>configValue</validation>
        </schema>
      </configuration>
    </plugin>
  </plugins>
</build>