Files
directus/docs/guides/collections.md
Joe Winger 7332f3de90 Update phrasing collections.md
"Keep in mind that Directus Collections are just a database tables." --> "Keep in mind that a Directus Collection is just a database table."
2021-01-03 14:26:05 -05:00

122 lines
4.6 KiB
Markdown

# Collections
> You can manage your collections within the Data Model section of the App's Settings, via the
> [API Collections Endpoint](#), or directly within the database. If you're unfamiliar with Directus
> Collections, please start by reading our [Understanding Collections](#) docs.
## Creating a Collection
1. Navigate to **Settings > Data Model**
2. Click the **Create Collection** action button in the header
3. Enter a unique **Collection Name**, keeping in mind that this is entered as a _key_ that
determines the database table name, and is then presented in the App using the
[Title Formatter](#).
4. Optional: Configure the collection's **Primary Key** name and type.
- Auto-Incremented Integer
- Generated UUID
- Manually Entered String
5. Optional: Enable and rename any desired **System Fields**.
- Status
- Sort
- Created On
- Created By
- Updated On
- Updated By
6. Click the **Finish Setup** button
<!-- prettier-ignore-start -->
::: danger Immutable Keys
The collection name, primary key name/type, and system field names can not
be modified after the collection is created.
:::
<!-- prettier-ignore-end -->
<!-- prettier-ignore-start -->
::: tip Database Tables
Keep in mind that a Directus Collection is just a database table. Therefore you
can import or create a table directly in the database, and it will automatically appear within
Directus. The first time you manage that table, a `directus_collections` record will be created with
default values.
:::
<!-- prettier-ignore-end -->
## Configuring a Collection
### Fields & Layout
- [Creating a Field](#)
- [Updating a Field](#)
- [Deleting a Field](#)
- [Duplicating a Field](#)
- [Changing Field Order & Layout](#)
### Collection Setup
- **Collection Name** — This is the key for the collection. It can not be modified, but you can
override it with Translations (see below)
- **Icon** — The icon used throughout the App when referencing this collection
- **Note** — A helpful note that explains the collection's purpose
- **Display Template** — A [Field Template](#) used to create dynamic titles for the collection's
items
- **Hidden** — Toggles if the collection should be globally hidden. Keep in mind that Admin roles
can always see all collections.
- **Singleton** — Is this collection will only contain a single item (eg: an "About Us" form).
When enabled, the [Collection Detail](#) will be bypassed, and users are taken directly to the
[Item Detail](#) page.
- **Translation** — Allows translating the collection name into different languages. These
[Schema Translations](#) are important for multilingual projects. You can also "translate" a
collection name into the default language — helpful for renaming technical table names.
### Archive
The archive feature allows you to enable the collection with a custom soft-delete option.
Soft-delete allows users to remove items from the App, but maintains the actual database record for
easy recovery.
- **Archive Field** — The field that holds the archive value
- **Archive App Filter** — Allows users to view archived items
- **Archive Value** — The value saved in the Archive Field when archived
- **Unarchive Value** — The value saved in the Archive Field when unarchived
<!-- prettier-ignore-start -->
::: warning API Responses
Items that have been archived are still returned normally via the API. It
is up to you to filter them out as needed.
:::
<!-- prettier-ignore-end -->
<!-- prettier-ignore-start -->
::: tip Status Field
When creating a new Collection, you have the option of creating an optional
"Status" field. If you choose to include this field, the collection's archive settings will
automatically be configured for you.
:::
<!-- prettier-ignore-end -->
### Sort
The sort feature enables manual drag-and-drop item reordering within the Directus App. This is
typically shown on the [Collection Detail](#) page/modal, and can also be used for sorting items
within a [Junction Table](#).
<!-- prettier-ignore-start -->
::: tip Sort Field
When creating a new Collection, you have the option of creating an optional "Sort"
field. If you choose to include this field, the collection's sort settings will automatically be
configured for you.
:::
<!-- prettier-ignore-end -->
## Deleting a Collection
1. Navigate to **Settings > Data Model > [Collection Name]**
2. Click the red **Delete Collection** action button in the header
3. Confirm this decision by clicking **Delete** in the dialog
<!-- prettier-ignore-start -->
::: danger Irreversible Change
This action is permanent and can not be undone. Please proceed with
caution.
:::
<!-- prettier-ignore-end -->