sql >> Base de Datos >  >> RDS >> Mysql

Laravel Schema Builder:Creando una columna binaria (16)

Ampliar el MySqlGrammar clase, por ej. en app/MySqlGrammar.php :

namespace App;

use Illuminate\Support\Fluent;

class MySqlGrammar extends \Illuminate\Database\Schema\Grammars\MySqlGrammar {

    protected function typeRealBinary(Fluent $column) {
        return "binary({$column->length})";
    }

}

Luego use una macro para agregar su propio tipo de columna:

DB::connection()->setSchemaGrammar(new \App\MySqlGrammar());

Blueprint::macro('realBinary', function($column, $length) {
    return $this->addColumn('realBinary', $column, compact('length'));
});

Schema::create('table', function(Blueprint $table) {
    $table->realBinary('url_hash', 16);
});