[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [local‑first/Schema](https://evolu.dev/docs/api-reference/common/local-first/Schema) › ValidateColumnTypes

```ts
type ValidateColumnTypes<S> = keyof S extends infer TableName
  ? TableName extends keyof S
    ? keyof S[TableName] extends infer ColumnName
      ? ColumnName extends keyof S[TableName]
        ? StandardSchemaV1.InferOutput<S[TableName][ColumnName]> extends
            SqliteValue | SqliteBoolean
          ? never
          : SchemaValidationError<`Table "${TableName & string}" column "${ColumnName & string}" type is not compatible with SQLite. Column types must extend SqliteValue (string, FiniteNumber, Uint8Array, or null).`>
        : never
      : never
    : never
  : never;
```

Defined in: [packages/common/src/local-first/Schema.ts:392](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/local-first/Schema.ts#L392)