relational atabases that <span databases do not support this?
Oracle, SQL Server, DB2 and PostgreSQL alone are enough to justify such a feature. You do support sequences and they are supported by a smaller number of databases than check constraints.
Many databases don’t have check constraints, whereas nearly all have unique and foreign key constraints. So there isn’t a tag for them. So that’s why they aren’t included. Moreover, the syntax for a check constraint varies, and is not much different from custom sql anyway.
So your preferred route in this case would be to use a custom sql tag in a subsequent changeset.
It is something that I would like to get implemented, but have not had the chance to look into enough to determine how it would be implemented. The trouble is that even though check constraints are implemented by many databases, their syntax can vary wildly, especially with the complex logic that is usually involved with check constraints.
For now, you can define them using blocks (if you want to use the normal XML create table, you can do that and add the constraint using after the fact) so they are still usable, just not as cross-database as one would maybe like. With 2.0, you can also add custom attributes so if you have a particular check constraint need, you can implement support for defining them with easy syntax in your changelog file.