# Seeds

Seed data is used to populate the database with initial data that is essential for the application to function. It is stored in the `data/seeds` directory and belongs in version control.

### Syntax

```
$ vela seeds <action>
```

The action can be one of the following:

- [`load`](/seeds/load) - Load seeds into the database
- [`save`](/seeds/save) - Save the current data as seeds
- [`clear`](/seeds/clear) - Clear seeded records

### Seeds vs fixtures

Seeds are real data the application needs — plans, categories, roles, an initial admin. They ship with the project and are loaded on deploy. [Fixtures](/fixtures) are throwaway mock data for development and tests, and are loaded after seeds so they can reference seed records.

### In tests

[`vela test:server`](/test/server) loads seeds into its throwaway database before every run, so tests start from the same data the app ships with.