Mysql
 sql >> Base de données >  >> RDS >> Mysql

Laravel Schema Builder :Création d'une colonne binaire (16)

Étendre MySqlGrammar classe, par ex. dans 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})";
    }

}

Utilisez ensuite une macro pour ajouter votre propre type de colonne :

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