Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Laravel Schema Builder:Criando uma coluna binária (16)


Estenda a MySqlGrammar classe, por exemplo em 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})";
    }

}

Em seguida, use uma macro para adicionar seu próprio tipo de coluna:
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);
});