The database has these constraints:
check ((type = 0) = (nixExprInput is not null and nixExprPath is not null)),
check ((type = 1) = (flake is not null)),
which prevented switching to flakes in a declarative jobspec, since the nixexpr{path,input} fields were not nulled in such an update
Co-Authored-By: Graham Christensen <graham@grahamc.com>
7QEA2OA4DQPRPG7PYHNIHBIIK3AJLUPKD7I7XXNOGII2MYD62LFAC
}
# Ensure jobset constraints are met, only have nixexpr{path,input} or
# flakes set if the type is 0 or 1 respectively. So in the update we need
# to null the field of the other type.
if (defined $update{type}) {
if ($update{type} == 0) {
$update{flake} = undef;
} elsif ($update{type} == 1) {
$update{nixexprpath} = undef;
$update{nixexprinput} = undef;
}