This package provides support for storing your Statamic data in a database rather than the filesystem.
This driver currently supports entries but not taxonomies, navigations, globals, or form submissions. We'll be working on those in the future.
Install using Composer:
composer require statamic/eloquent-driver
Publish the config file:
php artisan vendor:publish --tag="statamic-eloquent-config"
Since Statamic uses UUIDs within content files by default, we provide two solutions depending on whether you need to use existing content.
Fresh install of statamic/statamic (using incrementing ids)
If you're starting from scratch, we can use traditional incrementing integers for IDs.
- Delete
content/collections/pages/home.md
- Change the structure
tree
incontent/collections/pages.yaml
to{}
. - Run
php artisan vendor:publish --tag="statamic-eloquent-entries-table"
. - Run
php artisan migrate
.
If you're planning to use existing content, we can use the existing UUIDs. This will prevent you from needing to update any data or relationships.
- In the
config/statamic/eloquent-driver.php
file, changemodel
toUuidEntryModel
. - Run
php artisan vendor:publish --tag="statamic-eloquent-entries-table-with-string-ids"
. - Run
php artisan migrate
. - Import entries into database with
php please eloquent:import-entries
.
Statamic has a built-in users eloquent driver if you'd like to cross that bridge too.