Laravel realBinary, case sensitive string, Schema column type
INSERT INTO `country` (`id`, `currency`) VALUES
('demo', 'eur'),
('be', 'EUR'),
('nl', 'EUR');
INSERT INTO `currency` (`code`, `symbol`, `format`) VALUES
('eur', '€', '{VALUE} {SYMBOL}'),
('EUR', '€', '{SYMBOL} {VALUE}'),
('USD', '$', '{SYMBOL} {VALUE}');
This Laravel package gives case sensative string fields with length and also as primary and foreign key by adding a real binary column to migrations.
Schema::create('currency', function (Blueprint $table) {
$table->realBinary('code', 3)->unique();
// works as well
// $table->char('code', 3)->charset('binary')->unique();
// more fields
});
Schema::create('country', function (Blueprint $table) {
$table->string('id')->unique();
$table->realBinary('currency', 3);
// works as well
// $table->char('currency', 3)->charset('binary');
$table->foreign('currency')->references('code')->on('currency');
});
Command | Description |
---|---|
$table->realBinary('fullname'); |
BINARY equivalent column with length 255 |
$table->realBinary('code', 3); |
BINARY equivalent with a length |
Command | Description |
---|---|
$table->char('code', 3); $table->char('name', 100); |
CHAR equivalent column with a length. |
used together with
Modifier | Description |
---|---|
->charset('binary'); |
Specify a character set for the column (MySQL) make the column equivalent with BINARY. |
This Laravel package is inspired by