Paste a model's SELECT query and get a schema.yml stub with test suggestions — unique/not_null on likely keys, accepted_values on obvious enums.
SELECT column list, correctly ignoring parentheses depth and stopping at the next clause boundary.AS alias are named from the alias; bare column references use their own name; anything more complex (an un-aliased expression, or SELECT *) gets a TODO flag since we can't always know the exact output column name.id suggests unique + not_null. A column ending in _id (a likely foreign key) suggests not_null, plus an optional relationships test you can enable and point at the right target model/column yourself. Columns matching boolean-flag patterns (is_, has_, _flag, active...) suggest accepted_values: [true, false]. Columns matching enum-ish names (status, type, category, tier...) suggest an accepted_values test with a TODO placeholder list — we cannot know the real values without querying your data.accepted_values and relationships reveal extra fields when enabled.unique, not_null, accepted_values, and relationships. As of dbt 1.8 the YAML property is data_tests: (the old tests: key still works as a deprecated alias). As of dbt 1.10.5, test arguments can optionally nest under an arguments: block — older versions need them as top-level properties, which is why "top-level" is the default here. See dbt's data tests docs for the full reference.;).