Mise à jour de schéma pour créer longtext domaine sur la base de données MySQL sur symfony
Je veux mettre à jour MySQL champ de texte à longtext à l'aide de la Doctrine de schéma.
Maintenant mon code ressemble à ceci:
/**
*@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;
et le problème est quand j'ai modifier ce champ pour ce code
/**
*@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;
et exécutez la commande "php app/console doctrine:schema:update --force" de commande sur console il dit: "Rien à mettre à jour votre base de données est déjà en synchronisation avec l'entité actuelle de métadonnées." Comment faire pour modifier ce champ pour longtext sur la base de données mysql.
Je fais la même chose sur l'autre partie du projet.
c'est le code
/**
* @ORM\Column(name="body", type="text", nullable=true)
*/
protected $body;
et après l'exécution de la "php app/console doctrine:schema:update --force" de la commande sur le terminal de ce champ est modifié pour longtext sur la base de données MySQL.
OriginalL'auteur Ehsan | 2014-04-08
Vous devez vous connecter pour publier un commentaire.
Je suis tombé sur cette même question. J'ai trouvé une solution après le référencement de cette page:
http://doctrine-dbal.readthedocs.org/en/latest/reference/types.html
Spécification de la longueur du champ de texte aura le bon type créé en MySQL. Par exemple: longueur=65535
Voir ici: http://doctrine-dbal.readthedocs.org/en/latest/reference/types.html#id100
Une longueur comprise entre 256 et 65535 pour utiliser un champ texte dans la base de données.
Les références manquantes. Dans les pensions de titres, vous pouvez référencer le type de texte ici: github.com/doctrine/dbal/blob/... de Sorte que la définition de la colonne devient: @ORM\Column(name="<nom>", type="texte", nullable=true) sans la longueur (parce que LONGTEXT est la valeur par défaut pour les types de colonnes de 'texte')
Ce lien fonctionne. Utilisation de texte : doctrine-project.org/projects/doctrine-dbal/en/2.9/reference/...
OriginalL'auteur nux
pour symfony 4.2 sur bases de données MySql avec la Doctrine de l'Entité de champ (avec validation) déclaration de travaux
votre nom de classe
si vous avez besoin de plus d'espace pour le texte (à l'aide de CKeditor comme la saisie de texte ont besoin de plus de caractères pour les balises html que seul le texte), vous pouvez créer de l'attachement de la classe et le lien par rapport à de nombreuses à un, et la propagation de contenu de grande taille dans des paragraphes distincts.
OriginalL'auteur zoore