jjclane / laravel-sqlite-migrations
A trait to translate Laravel migrations into SQLite safe migrations.
Installs: 15 802
Dependents: 0
Suggesters: 0
Security: 0
Stars: 13
Watchers: 2
Forks: 4
Open Issues: 1
Type:laravel-package
Requires
- illuminate/database: ^7.0||^8.0||^9.0||^10.0
README
A trait to translate Laravel migrations into SQLite safe migrations.
This avoids the Cannot add a NOT NULL column with default value NULL
issue that you receive when trying to add a non-nullable column to
an existing table in a migration by initially adding the column as nullable and then modifying the column in a separate migration.
It also maps Laravel datatypes that aren't supported in SQLite to avoid this.
Installation
composer require jjclane/laravel-sqlite-migrations --dev
How to use
<?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; use JJCLane\SQLiteMigration\TransformMigration; class AddColumnToTable extends Migration { use TransformMigration; /** * Run the migrations. * * @return void */ public function up() { $this->table('table', function (Blueprint $table) { // Normal migrations $table->decimal('my_col', 10, 1)->unsigned()->after('my_other_col'); }); // or if you prefer to be more explicit $this->transformMigration('table', function (Blueprint $table) { // Normal migrations $table->decimal('my_col', 10, 1)->unsigned()->after('my_other_col'); }); } }