Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Doctrine ORM Custom Column Collation

I'm trying to set custom column collation as in Doctrine documentation:

  • http://doctrine-dbal.readthedocs.org/en/latest/reference/schema-representation.html and
  • http://doctrine-orm.readthedocs.org/en/latest/reference/annotations-reference.html

using

@ORM\Column(name="body", type="string", length=140, options={"customSchemaOptions"={"collate"="utf8mb4_unicode_ci"}})

but when I update the schema it always goes back to utf8_unicode_ci (when I set it manually for example). Any ideas?

like image 988
ikleiman Avatar asked Nov 19 '14 20:11

ikleiman


1 Answers

This has been added by now if you (or someone else) still need, see column annotation docs

Example: In annotations:

/**
 * @var string
 *
 * @ORM\Column(type="string", length=64, nullable=false, options={"collation":"utf8_bin"})
 */
private $code;

In Yaml:

Your\Nice\Entity:
    fields:
        code:
            type: string
            length: 64
            options:
                collation: utf8_bin   # Although the recommendation is the utf8mb4* set now.

This is supported by all common database drivers now.

like image 126
Niels Keurentjes Avatar answered Oct 17 '22 14:10

Niels Keurentjes