API reference@evolu/commonlocal‑first/Schema › ValidateNoSystemColumns

type ValidateNoSystemColumns<S> = keyof S extends infer TableName
  ? TableName extends keyof S
    ? keyof S[TableName] extends infer ColumnName
      ? ColumnName extends keyof S[TableName]
        ? ColumnName extends "createdAt" | "updatedAt" | "isDeleted" | "ownerId"
          ? SchemaValidationError<`Table "${TableName & string}" uses system column name "${ColumnName & string}". System columns (createdAt, updatedAt, isDeleted, ownerId) are added automatically.`>
          : never
        : never
      : never
    : never
  : never;

Defined in: packages/common/src/local-first/Schema.ts:313