Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/camelotproject/doctrine-postgres-bundle
PostgreSQL specific functionality for Symfony projects
https://github.com/camelotproject/doctrine-postgres-bundle
doctrine doctrine-dbal doctrine-orm symfony symfony-bundle
Last synced: about 1 month ago
JSON representation
PostgreSQL specific functionality for Symfony projects
- Host: GitHub
- URL: https://github.com/camelotproject/doctrine-postgres-bundle
- Owner: CamelotProject
- License: mit
- Created: 2019-10-07T02:43:24.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-03-23T07:51:57.000Z (8 months ago)
- Last Synced: 2024-10-12T23:05:20.936Z (about 1 month ago)
- Topics: doctrine, doctrine-dbal, doctrine-orm, symfony, symfony-bundle
- Language: PHP
- Homepage:
- Size: 82 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Doctrine Postgres Bundle
========================**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 searchLibraries used:
- [martin-georgiev/postgresql-for-doctrine][georgiev]
Installation
------------### Applications that use Symfony Flex
Open a command console, enter your project directory and execute:
```console
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:```console
composer require camelot/doctrine-postgres-bundle
```This command requires you to have Composer installed globally, as explained
in the [installation chapter](https://getcomposer.org/doc/00-intro.md)
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:```php
// config/bundles.phpreturn [
// ...
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][doc-use-case]
for tip(s) on using the functions.[georgiev]: https://github.com/martin-georgiev/postgresql-for-doctrine
[doc-symfony]: https://github.com/martin-georgiev/postgresql-for-doctrine/blob/master/docs/INTEGRATING-WITH-SYMFONY.md
[doc-use-case]: https://github.com/martin-georgiev/postgresql-for-doctrine/blob/master/docs/USE-CASES-AND-EXAMPLES.md