Laravel Optimize Database

Laravel Optimize Database stats

Downloads
2.5K
Stars
136
Open Issues
3
Forks
6

View on GitHub →

Publishes migrations that make your database production ready.

Skeleton Php

GitHub Workflow Status (main) Total Downloads Latest Version License


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 --dev

🙌 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.

nunomaduro photo

@laravel core member — created @pestphp, @laravel-zero, collision, larastan, pint, @openai for php, @phpinsights, termwind, and more.

Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.


Nunomaduro Laravel Optimize Database Related Articles

Optimize Your SQLite Database with the Laravel Optimize DB Package image

Optimize Your SQLite Database with the Laravel Optimize DB Package

Read article
Honeybadger logo

Honeybadger

Simple developer-focused application monitoring for Laravel. Error tracking, log management, uptime monitoring, status pages, and more!

Honeybadger
Curotec logo

Curotec

World class Laravel experts with GenAI dev skills. LATAM-based, embedded engineers that ship fast, communicate clearly, and elevate your product. No bloat, no BS.

Curotec
PhpStorm logo

PhpStorm

The go-to PHP IDE with extensive out-of-the-box support for Laravel and its ecosystem.

PhpStorm
Laravel Cloud logo

Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Laravel Cloud
The Certification of Competence for Laravel logo

The Certification of Competence for Laravel

A community-driven, proctored assessment across 4 levels designed to validate real-world Laravel knowledge, from Junior to mastery-level Artisan. Official Vue.js, Official Nuxt, Angular, React, JS certifications also available.

The Certification of Competence for Laravel
Tighten logo

Tighten

We help companies turn great ideas into amazing apps, products, and services.

Tighten