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
treeincontent/collections/pages.yamlto{}. - 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.phpfile, changemodeltoUuidEntryModel. - 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.