PHP code example of peehaa / migres

1. Go to this page and download the library: Download peehaa/migres library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

peehaa / migres example snippets


 declare(strict_types=1);

namespace Vendor\Migrations;

use PeeHaa\Migres\DataType\BigSerial;
use PeeHaa\Migres\DataType\Boolean;
use PeeHaa\Migres\DataType\CharacterVarying;
use PeeHaa\Migres\MigrationSpecification;
use PeeHaa\Migres\Specification\Table;

class CreateTable extends MigrationSpecification
{
    public function change(): void
    {
        $this->createTable('users', function (Table $table) {
            $table->addColumn('id', new BigSerial());
            $table->addColumn('is_admin', new Boolean())->notNull()->default(false);
            $table->addColumn('name', new CharacterVarying(128))->notNull();
            $table->addColumn('email_address', new CharacterVarying(255))->notNull();
            $table->primaryKey('id');
            $table->addIndex('users_name', 'name');
            $table->addUniqueConstraint('email_address_unq', 'email_address');
        });
    }
}

 declare(strict_types=1);

namespace Vendor\Migrations;

use PeeHaa\Migres\MigrationSpecification;

class RenameTable extends MigrationSpecification
{
    public function change(): void
    {
        $this->renameTable('users', 'members');
    }
}

 declare(strict_types=1);

namespace Vendor\Migrations;

use PeeHaa\Migres\MigrationSpecification;

class RenameTable extends MigrationSpecification
{
    public function change(): void
    {
        $this->dropTable('members');
    }
}

$table->addColumn('column_name', new Integer());

$table->addColumn('column_name', new Integer())->notNull;

$table->addColumn('column_name', new Integer())->default(12);

$table->dropColumn('column_name');

$table->renameColumn('old_name', 'new_name');

$table->changeColumn('column_name', new IntegerType());

$table->changeColumn('column_name', new IntegerType())->notNull();

$table->changeColumn('column_name', new IntegerType())->default(12);

$table->primaryKey('column_name');

$table->primaryKey('column_name1', 'column_name2');

$table->dropPrimaryKey();

$table->dropPrimaryKey('table_name_pkey');

$table->namedPrimaryKey('custom_name_pkey', 'column_name');

$table->namedPrimaryKey('custom_name_pkey', 'column_name1', 'column_name2');

$table->renamePrimaryKey('old_name', 'new_name');

$table->addUniqueConstraint('constraint_name', 'column_name');

$table->addUniqueConstraint('constraint_name', 'column_name1', 'column_name2');

$table->dropUniqueConstraint('constraint_name');

$table->addIndex('name_idx', 'column_name');

$table->addIndex('name_idx', 'column_name DESC');

$table->addIndex('name_idx', 'column_name1 DESC', 'column_name2 DESC');

$table->addBtreeIndex('name_idx', 'column_name');

$table->addBtreeIndex('name_idx', 'column_name DESC');

$table->addBtreeIndex('name_idx', 'column_name1 DESC', 'column_name2 DESC');

$table->addHashIndex('name_idx', 'column_name');

$table->addHashIndex('name_idx', 'column_name DESC');

$table->addHashIndex('name_idx', 'column_name1 DESC', 'column_name2 DESC');

$table->addGistIndex('name_idx', 'column_name');

$table->addGistIndex('name_idx', 'column_name DESC');

$table->addGistIndex('name_idx', 'column_name1 DESC', 'column_name2 DESC');

$table->addGinIndex('name_idx', 'column_name');

$table->addGinIndex('name_idx', 'column_name DESC');

$table->addGinIndex('name_idx', 'column_name1 DESC', 'column_name2 DESC');

$table->dropIndex('name_idx');

$table->addCheck('bigger_than_10_chk', 'column_name > 10');

$table->dropCheck('bigger_than_10_chk');