symfony2 と postgres に問題があります。変更できない大文字のテーブルとシーケンスを含むデータベースがあります。
エンティティを生成し (リバース エンジニアリング)、識別子を引用し、何らかの種類の変更 (php app/console doctrine:schema:update --force) を実行しようとすると、次のエラーが返されます。
[PDOException] SQLSTATE[42P01]: 未定義のテーブル: 7 エラー: 関連する «base_id_se q» は存在しません LINE 1: SELECT min_value, increment_by FROM BASE_id_seq
私の基本エンティティのコードは次のとおりです。
namespace Slip\CoreBundle\Entity;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
use Slip\ContactBundle\Entity\Criterion;
/**
* Slip\CoreBundle\Entity\Base
*
* @ORM\Entity(repositoryClass="Slip\CoreBundle\Repository\BaseRepository")
* @ORM\Table(name="""BASE""")
*/
class Base
{
/**
* @var bigint $id
*
* @ORM\Column(name="id", type="bigint", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="SEQUENCE")
* @ORM\SequenceGenerator(sequenceName="""BASE_id_seq""", allocationSize=1, initialValue=1)
*/
private $id;
/**
* @var string $name
* @ORM\Column(name="name", type="string", length=1024, nullable=false)
*/
private $name;
…………
シーケンスの名前をすべて小文字に変更すると、変更がデータベースに適用されますが、本番環境では実行できません
データベースに変更を加えると、BASE テーブル以外のテーブルにこのエラーが表示される理由がわかりません。
ご協力ありがとうございます。