2014-04-08 7 views
5

Voglio aggiornare il campo MySQL dal testo al longtext usando lo schema Doctrine.Aggiorna schema per creare campo longtext su database MySQL su symfony

Ora il mio codice è simile a questo:

/** 
*@var string 
*@ORM\Column(name="head_fa", type="string", length=1000, nullable=true) 
*/ 
private $head_fa; 

/** 
*@var string 
*@ORM\Column(name="head_en", type="string", length=1000, nullable=true) 
*/ 
private $head_en; 

/** 
*@var string 
*@ORM\Column(name="body_fa", type="text", length=1000, nullable=true) 
*/ 
private $body_fa; 

/** 
*@var string 
*@ORM\Column(name="body_en", type="text", length=1000, nullable=true) 
*/ 
private $body_en; 

e il problema è quando cambio questo campo per il codice

/** 
*@var string 
*@ORM\Column(name="head_fa", type="string", length=1000, nullable=true) 
*/ 
private $head_fa; 

/** 
*@var string 
*@ORM\Column(name="head_en", type="string", length=1000, nullable=true) 
*/ 
private $head_en; 

/** 
*@var string 
*@ORM\Column(name="body_fa", type="text", nullable=true) 
*/ 
private $body_fa; 

/** 
*@var string 
*@ORM\Column(name="body_en", type="text", nullable=true) 
*/ 
private $body_en; 

e fuggi "php app/console dottrina: schema: update - -force "command on console ha detto che" Niente da aggiornare - il tuo database è già sincronizzato con i metadati di entità attuali ". Come cambiare questo campo in longtext nel database mysql.

Faccio lo stesso su diverse parti del progetto. Questo è il codice

/** 
* @ORM\Column(name="body", type="text", nullable=true) 
*/ 
protected $body; 

e dopo l'esecuzione del "php app/console dottrina: schema: update --force" comando sul terminale questo campo viene modificato in LongText su database MySQL.

risposta

8

Mi sono imbattuto in questo stesso problema. Ho trovato una soluzione dopo aver fatto riferimento a questa pagina: http://doctrine-dbal.readthedocs.org/en/latest/reference/types.html

Specificare la lunghezza del campo di testo avrà il tipo corretto creato in MySQL. Per esempio: lunghezza = 65535

vedere qui: http://doctrine-dbal.readthedocs.org/en/latest/reference/types.html#id100

una lunghezza compresa tra 256 e 65535 per utilizzare un campo "testo" nel database.