camelot / doctrine-postgres-bundle
PostgreSQL specific functionality for Pentangle
Installs: 7 610
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 1
Open Issues: 0
Type:symfony-bundle
Requires
- php: ^7.4 || ^8.0
- ext-pdo_pgsql: *
- doctrine/dbal: ^2.9 || ^3.0
- doctrine/orm: ^2.7 || ^3.0
- martin-georgiev/postgresql-for-doctrine: ^1.5 || ^2
Requires (Dev)
- camelot/coding-style: ^3.0
- dama/doctrine-test-bundle: ^6.2
- doctrine/doctrine-fixtures-bundle: ^3.3
- friendsofphp/php-cs-fixer: ^3.0
- phpunit/phpunit: ^9.5
- psalm/plugin-phpunit: ^0.16
- symfony/dotenv: ^6.0
- symfony/framework-bundle: ^6.0
- symfony/phpunit-bridge: ^6.0
- symfony/yaml: ^6.0
- vimeo/psalm: ^4.17
This package is auto-updated.
Last update: 2024-11-23 09:07:12 UTC
README
NOTE: For legacy PHP support (7.2+) please use the 1.0 branch.
This bundle provides Doctrine support for some specific PostgreSQL 9.4+ features for Symfony projects:
- Support of JSONB and some array data-types (at present only integers, TEXT and JSONB)
- Implementation of the most commonly used functions and operators when working with array and JSON data-types Functions for text search
Libraries used:
Installation
Applications that use Symfony Flex
Open a command console, enter your project directory and execute:
composer require camelot/doctrine-postgres-bundle
Applications that don't use Symfony Flex
Step 1: Download the Bundle
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
composer require camelot/doctrine-postgres-bundle
This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.
Step 2: Enable the Bundle
Then, enable the bundle by adding it to the list of registered bundles
in the config/bundles.php
file of your project:
// config/bundles.php return [ // ... Camelot\DoctrinePostgres\CamelotDoctrinePostgresBundle::class => ['all' => true], ];
Using
Available DBAL Types
jsonb
jsonb[]
smallint[]
integer[]
bigint[]
text[]
Available String Functions
ALL_OF
ANY_OF
ARRAY_APPEND
ARRAY_CARDINALITY
ARRAY_CAT
ARRAY_DIMENSIONS
ARRAY_LENGTH
ARRAY_NUMBER_OF_DIMENSIONS
ARRAY_PREPEND
ARRAY_REMOVE
ARRAY_REPLACE
ARRAY_TO_JSON
ARRAY_TO_STRING
CAST()
CONTAINS
DATE_PART()
GREATEST
ILIKE
IN_ARRAY
IS_CONTAINED_BY
JSON_ARRAY_LENGTH
JSONB_ARRAY_ELEMENTS
JSONB_ARRAY_ELEMENTS_TEXT
JSONB_ARRAY_LENGTH
JSONB_EACH
JSONB_EACH_TEXT
JSONB_EXISTS
JSONB_INSERT
JSONB_OBJECT_KEYS
JSONB_SET
JSONB_STRIP_NULLS
JSON_EACH
JSON_EACH_TEXT
JSON_GET_FIELD
JSON_GET_FIELD_AS_INTEGER
JSON_GET_FIELD_AS_TEXT
JSON_GET_OBJECT
JSON_GET_OBJECT_AS_TEXT
JSON_OBJECT_KEYS
JSON_STRIP_NULLS
LEAST
MAKE_DATE()
OVERLAPS
STRING_TO_ARRAY
TO_CHAR()
TO_JSON
TO_JSONB
TO_TSQUERY
TO_TSVECTOR
TSMATCH
See Common errors when using ILIKE, CONTAINS, IS_CONTAINED_BY and other operator-like functions for tip(s) on using the functions.