validation
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.
Related Options
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>