Table (also available as Resource) is the same thing you create under Data → Create table in Studio.
Arguments
Each matches a setting in Studio: see Table settings.
Operations
crud(policy, **per_operation) enables all five operations with one policy, and lets you override individual ones:
Allow(policy) accepts a Policy, a condition built with P, or a built-in name ("public", "authenticated", "owner", "mfa", "service", "deny"). An action that isn’t listed is off.
Derived values
A table’stable name defaults to the resource name, and the server fills in ids and defaults. plan knows this, so it won’t report a false difference for things the server normalised.
Deploying a table
deploy creates the resource, then creates or extends its database table (use --no-migrate to skip). Columns are only added: nothing is dropped or retyped. See Migrations.
Fields
Every field type.
Policies
Write the rules.