Issei.M's Techlog

Web/iOS エンジニアの僕が技術関連のメモ等をつらつらと。主に Symfony について書いています。

Doctrine

[Doctrine] SQLiteでQuery::iterate()を使うとDBがロックする件

僕はSymfony+Doctrineプロジェクトで機能テストを作る際、 LiipFunctionalTestBundle を使ってテスト環境だけSQLiteで動作するようにしているのですが、ある時から途中でDBがロックしてしまい、テストスイートがパスしなくなってしまいました。 SQLSTATE[HY0…

[Symfony] Doctrine の Repository をサービスコンテナに登録する

AcmeBlogBundle\Repository\BlogRepositoryをサービスコンテナに追加: # @AcmeBlogBundle/Resources/config/services.yml parameters: acme_blog.repository.blog.class: Acme\BlogBundle\Repository\BlogRepository services: acme_blog.repository.blog: c…

[Doctrine] MySQL の TEXT 型を使用する

※Doctrine 2.3 以下でのお話です。 MySQL のカラムにTEXT型を使おうとして普通に type を text にするとLONGTEXT型になってしまいます。 /** * @ORM\Column(type="text") */ private $title; ※コンソール結果 $ php app/console doctrine:schema:create --du…

[Doctrine][MySQL] アノテーションで unsigned を定義する

Doctrine2 のエンティティプロパティに unsigned を設定する方法が分かりづらかったのでメモ。 /** * @ORM\Id * @ORM\GeneratedValue(strategy="IDENTITY") * @ORM\Column(type="bigint", options={"unsigned"=true}) */ protected $id; こんな感じで Column…

[Symfony][Doctrine] Fixtures からサービスコンテナを取得する

Fixtures 内で、サービスコンテナを呼び出したくなる事はしばしばあります。 例えば User エンティティクラスが Security コンポーネントの UserInterface を実装している場合、PasswordEncoder を使いたくなりますね。 しかしそのままでは AbstractFixture …