JJCLane / laravel-sqlite-migrations

A trait to translate Laravel migrations into SQLite safe migrations.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Laravel SQLite Migrations

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');
        });
    }
}

About

A trait to translate Laravel migrations into SQLite safe migrations.


Languages

Language:PHP 100.0%