noud/laravel-schema-real-binary

Laravel case sensive Schema column type

v1.0.0 2020-09-10 22:04 UTC

This package is auto-updated.

Last update: 2024-05-11 07:14:20 UTC


README

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

Creating Columns

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