LaravelPackages.net
Acme Inc.
Toggle sidebar
nunomaduro/laravel-optimize-database

Publishes migrations that make your database production ready.

46.546
262
v1.0.5
About nunomaduro/laravel-optimize-database

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

Skeleton Php

GitHub Workflow Status (main) Total Downloads Latest Version License YouTube Channel Subscribers


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:

🚀 Installation

Requires PHP 8.2+, SQLite 3.46+ and Laravel 11.0+

You can install the package via Composer:

composer require nunomaduro/laravel-optimize-database

🙌 Usage

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.

Star History Chart