Search code examples
mysqldatabaselaravellaravel-4

MediumBlob in Laravel database schema


How can I create a Mediumblob within the Laravel schema builder ?

In the docs it says :

$table->binary('data'); // BLOB equivalent to the table

But I need a MediumBlob otherwise the images get truncated at 64K; we are running MySQL.

I know that Laravel's schema builder is DB agnostic, but is there a way to avoid the "native way" and if not how can i create a Mediumblob column ?


Solution

  • You can't.

    This issue suggests using raw queries to create such columns, so you should do something like this in your migration file :

    Schema::create("<table name>", function($table) {
        // here you do all columns supported by the schema builder
    });
    
    // once the table is created use a raw query to ALTER it and add the MEDIUMBLOB
    DB::statement("ALTER TABLE <table name> ADD <column name> MEDIUMBLOB");