Publishes migrations that make your database production ready.
nunomaduro/laravel-optimize-database is a Laravel package for publishes migrations that make your database production ready..
It currently has 262 GitHub stars and 46.546 downloads on Packagist (latest version v1.0.5).
Install it with composer require nunomaduro/laravel-optimize-database.
Discover more Laravel packages by nunomaduro
or browse all Laravel packages to compare alternatives.
Last updated
This package is a work-in-progress, therefore you should not use it in production - and always backup your database before requiring it through Composer.
This package provides a simple way to optimize your SQLite database in Laravel; it's a good starting point for production-ready SQLite databases. At the time of this writing, it applies the following settings:
┌───────────────────────────┬─────────────┬───────────┐
│ Setting │ Value │ Via │
├───────────────────────────┼─────────────┼───────────┤
│ PRAGMA auto_vacuum │ incremental │ Migration │
│ PRAGMA journal_mode │ WAL │ Migration │
│ PRAGMA page_size │ 32768 │ Migration │
│ PRAGMA busy_timeout │ 5000 │ Runtime │
│ PRAGMA cache_size │ -20000 │ Runtime │
│ PRAGMA foreign_keys │ ON │ Runtime │
│ PRAGMA incremental_vacuum │ (enabled) │ Runtime │
│ PRAGMA mmap_size │ 2147483648 │ Runtime │
│ PRAGMA temp_store │ MEMORY │ Runtime │
│ PRAGMA synchronous │ NORMAL │ Runtime │
└───────────────────────────┴─────────────┴───────────┘
The settings are applied in two ways:
Requires PHP 8.2+, SQLite 3.46+ and Laravel 11.0+
You can install the package via Composer:
composer require nunomaduro/laravel-optimize-database
To get started optimizing your SQLite database, you need to run the following command:
php artisan db:optimize
At this point, the [Runtime] settings are applied automatically. However, you need to run the migration to apply the [Migration] settings:
php artisan migrate
Laravel Optimize Database was created by Nuno Maduro under the MIT license.