Schema
Everything in this group is something you declare in a file. The generator reads those files, and the database, the API and the client follow from them.
Your schema is the part of QUESTPIE you write by hand. Everything else in the framework reads it.
The model in one paragraph
A collection is a database table. A global is a single row instead of a list, for the things a site has exactly one of. Both hold fields. A field decides three things at once. The column in Postgres, the control in the admin, and the validation on the way in.
The rest of this group changes what happens around your data, not its shape. Who may read a row. What runs before a write. How two tables point at each other.
What is here
| Page | What it covers |
|---|---|
| Collections | Tables. The one you reach for first. |
| Globals | A single row. Site settings, a homepage, a footer. |
| Fields | Every field type, its column and its admin control. |
| Relations | One-to-many, many-to-many, and what loads with what. |
| Blocks | Stacked content a person arranges, rendered by your app. |
| Access control | Who may read, create, update and delete each row. |
| Hooks | Code that runs before or after a write. |
| Validation | Rules beyond the field type, and the errors they return. |
| Soft delete | Rows that leave the list without leaving the table. |
| Seeds | Rows a fresh database starts with. |
| Collaborative documents | Two people editing one field without overwriting each other. |
Before this group
These pages assume you have a collection already, and they go one topic at a time. If you have not written one yet, start with your first collection, which builds one end to end and puts a row in the database.