2017 © Pedro Peláez
 

symfony-bundle custom-index-bundle-zf2

Annotation and command for control entity custom indexes

image

prevostc/custom-index-bundle-zf2

Annotation and command for control entity custom indexes

  • Tuesday, July 26, 2016
  • by prevostc
  • Repository
  • 1 Watchers
  • 0 Stars
  • 3 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 6 Forks
  • 0 Open issues
  • 7 Versions
  • 0 % Grown

The README.md

CustomIndexBundle

The CustomIndexBundle allows create index for doctrine entities using annotation with entity definition and console command., (*1)

Installation

CustomIndexBundle requires Symfony 2.1 or higher. Now work only with PostgreSQL., (*2)

Require the bundle in your composer.json file:, (*3)

````json { "require": { "intaro/custom-index-bundle": "~0.1.1", } }, (*4)


Install the bundle:

$ composer update intaro/custom-index-bundle, (*5)


Register the bundle in `AppKernel`: ```php // app/AppKernel.php public function registerBundles() { $bundles = array( //... new Intaro\CustomIndexBundle\IntaroCustomIndexBundle(), ); //... }

Usage

1) Add annotation in your entity, (*6)

<?php

namespace Acme\MyBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Intaro\CustomIndexBundle\Annotations as CustomIndexAnnotation

/**
 * @ORM\Table(name="my_entity")
 * @ORM\Entity()
 * @CustomIndexAnnotation\CustomIndexes(indexes={
 *     @CustomIndexAnnotation\CustomIndex(columns="my_property1"),
 *     @CustomIndexAnnotation\CustomIndex(columns={"lower(my_property1)", "lower(my_property2)"})
 * })
 */
class MyEntity
{
    /**
     * @ORM\Column(type="string", length=256)
     */
    protected $myProperty1;

    /**
     * @ORM\Column(type="string", length=256)
     */
    protected $myProperty2;
}

Available CustomIndex attributes:, (*7)

  • columns - array of the table columns
  • name - index name (default = 'i_cindex_<md5 hash from all CustomIndex attributes>').
  • unique - index is unique (default = false).
  • using - corresponds to USING directive in PostgreSQL CREATE INDEX command.
  • where - corresponds to WHERE directive in PostgreSQL CREATE INDEX command.

Required only columns attribute., (*8)

2) Use intaro:doctrine:index:update command for update db., (*9)

php app/console intaro:doctrine:index:update

You may use dump-sql parameter for dump sql with DROP/CRATE INDEX commands, (*10)

php app/console intaro:doctrine:index:update --dump-sql

Some annotation examples

Create index using pg_trgm extension:, (*11)

@CustomIndexAnnotation\CustomIndex(columns="lower(my_column) gist_trgm_ops", using="gist")

Create unique index using PostgreSQL functions:, (*12)

@CustomIndexAnnotation\CustomIndex(columns={"lower(my_column1)", "nullif(true, not my_column2 isnull)"}, unique=true)

Create partial index:, (*13)

@CustomIndexAnnotation\CustomIndex(columns={"site_id"}, where="product_id IS NULL")

The Versions

26/07 2016

dev-master

9999999-dev

Annotation and command for control entity custom indexes

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

by Chernyavtsev Ivan

symfony2 index postgresql-index

26/07 2016

v0.1.8

0.1.8.0

Annotation and command for control entity custom indexes

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

by Chernyavtsev Ivan

symfony2 index postgresql-index

14/06 2015

v0.1.7

0.1.7.0

Annotation and command for control entity custom indexes

  Sources   Download

MIT

The Requires

 

by Chernyavtsev Ivan

symfony2 index postgresql-index

05/04 2015

v0.1.2

0.1.2.0

Annotation and command for control entity custom indexes

  Sources   Download

MIT

The Requires

 

by Chernyavtsev Ivan

symfony2 index postgresql-index

05/04 2015

v0.1.6

0.1.6.0

Annotation and command for control entity custom indexes

  Sources   Download

MIT

The Requires

 

by Chernyavtsev Ivan

symfony2 index postgresql-index

06/08 2014

v0.1.1

0.1.1.0

Annotation and command for control entity custom indexes

  Sources   Download

MIT

The Requires

 

by Chernyavtsev Ivan

symfony2 index postgresql-index

09/06 2014

v0.1.0

0.1.0.0

Annotation and command for control entity custom indexes

  Sources   Download

MIT

The Requires

 

by Chernyavtsev Ivan

symfony2 index postgresql-index