Skip to content

Laravel realBinary, case sensitive string, Schema column type

License

Notifications You must be signed in to change notification settings

noud/laravel-schema-real-binary

Repository files navigation

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.

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

New Column Type

Command Description
$table->realBinary('fullname'); BINARY equivalent column with length 255
$table->realBinary('code', 3); BINARY equivalent with a length

Available Column Type

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.

inspirations

This Laravel package is inspired by

About

Laravel realBinary, case sensitive string, Schema column type

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages