У меня есть странная проблема: У меня есть Symfony приложения 2,3 (с пользователем сонаты) Я создал пакет с одним объектом - сущность была создана без проблем тогда я должен был изменить сущность и теперь, кажется, невозможно изменить схему:Symfony доктрина: схема: обновление не работает
чтобы понять, что происходит, я увеличил все длины строки с +1
код объект (с аннотациями):
namespace Too\ConfigAppBundle\Entity;
use Gedmo\Mapping\Annotation as Gedmo;
use Doctrine\ORM\Mapping as ORM;
/**
* ConfigApp
*
* @ORM\Table(name="ConfigApp")
* @ORM\Entity(repositoryClass="Too\ConfigAppBundle\Entity\ActiviteRepository")
*/
class ConfigApp
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string $nom
*
* @ORM\Column(name="nom", type="string", length=101, unique=true)
*/
private $nom;
/**
* @var string $nomSlug
*
* @Gedmo\Slug(fields={"nom"}, updatable=true, separator="_")
* @ORM\Column(name="nomSlug", type="string", length=101, nullable=true)
*/
private $nomSlug;
/**
* @var string $email
*
* @ORM\Column(name="email", type="string", length=151)
*/
private $email;
/**
* @var string $telephone
*
* @ORM\Column(name="telephone", type="string", length=16)
*/
private $telephone;
/**
* @var datetime $cree_le
*
* @Gedmo\Timestampable(on="create")
* @ORM\Column(name="cree_le", type="datetime")
*/
private $cree_le;
/**
* @var datetime $modifie_le
*
* @Gedmo\Timestampable(on="update")
* @ORM\Column(name="modifie_le", type="datetime")
*/
private $modifie_le;
...
Теперь посмотрим результат:
php app/console doctrine:schema:update --dump-sql
CREATE TABLE ConfigApp (id INT AUTO_INCREMENT NOT NULL, nom VARCHAR(100) NOT NULL, nomSlug VARCHAR(100) NOT NULL, email VARCHAR(150) NOT NULL, telephone VARCHAR(15) NOT NULL, cree_le DATETIME NOT NULL, modifie_le DATETIME NOT NULL, PRIMARYKEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB
Ни новой длины не принимается во внимание: , например, поле псевдоним должен иметь длину = 101, но дамп-SQL дает ном VARCHAR (100)!
Может ли кто-нибудь попытаться выяснить, что происходит не так? Спасибо!
EDIT: Я пытался, прежде чем очистить кэш с: * PHP приложения/консолью доктрина: кэш: ясно-метаданные * PHP приложение/кэш консоли: ясно *, удалив все содержимое папки кэша
Я также пробовал --dump-sql и -force.
Это ничего не меняет. Пожалуйста, подскажите пожалуйста!
Я бы попытался очистить кеш метаданных. Я думаю, что это 'doctrine: cache: clear-metadata'. Просто запустите 'app/console' для списка команд – Phil