Comment créer une table de base de l'entité dans symfony 2.6
ce que j'ai fait jusqu'à présent est -> j'ai créé un bundle et la classe d'entité en elle et a créé une table de base de données nommé "news" de l'entité à la classe en utilisant la commande suivante
php app/console doctrine:schema:update --force
tout s'est bien passé.
maintenant, j'ai créé un nouveau bundle et une autre entité de la classe à partir de laquelle je veux créer une autre table dans la base de données nommée "utilisateur", mais donne une erreur "Le tableau avec le nom" symfony.news " existe déjà ".
class user {
private $id;
private $userEmail;
public function getId() {
return $this->id;
}
public function setUserEmail($userEmail) {
$this->userEmail = $userEmail;
return $this;
}
}
Pouvez-vous nous montrer un peu de code ? Vos deux classes, avec les annotations, pour commencer
class user { private $id; private $userEmail; public function getId() { return $this->id; } public function setUserEmail($userEmail) { $this->userEmail = $userEmail; return $this; } }
Pas dans les commentaires, les modifier à votre question, c'est illisible comme ça
Je pense que vous devez fournir ces 2 entité code sinon c'est difficile de comprendre le code d'erreur. Veuillez mettre à jour votre code.
Où est votre annotation? Veuillez mettre à jour votre code avec l'annotation. Je pense, quelque chose de mal avec l'annotation.
class user { private $id; private $userEmail; public function getId() { return $this->id; } public function setUserEmail($userEmail) { $this->userEmail = $userEmail; return $this; } }
Pas dans les commentaires, les modifier à votre question, c'est illisible comme ça
Je pense que vous devez fournir ces 2 entité code sinon c'est difficile de comprendre le code d'erreur. Veuillez mettre à jour votre code.
Où est votre annotation? Veuillez mettre à jour votre code avec l'annotation. Je pense, quelque chose de mal avec l'annotation.
OriginalL'auteur Umair Malik | 2015-04-22
Vous devez vous connecter pour publier un commentaire.
Votre entité ne contient pas d'annotations, et la doctrine ont aucune idée de quoi faire avec cette entité. Mais si vous ajoutez à votre entité, quelque chose comme:
OU
si vous ajouter un fichier:
User.orm.xml
comme:à votre
Resources/config/doctrine/
répertoire,vous serez en mesure d'exécuter la commande:
et, par conséquent, vous recevrez:
Crois vraiment que ça va régler votre problème...
OriginalL'auteur Vladimir Kovpak
Pourquoi n'utilisez-vous pas la doctrine de commande?
doctrine:schema:update mise à jour toutes les tables. Si la table existe, alors il va vérifier tous les modifications de colonne, mais il ne sera pas recréer la table.
En outre, vous ne pouvez pas quitter les anciennes tables non modifié si vous avez changé quelque chose dans les métadonnées (définitions de colonne, les relations, etc.). Donc, la doctrine:schema:update, c'est la sécurité, tant que vous ne faites pas de modifications sur les anciennes entités, mais seulement d'en ajouter de nouvelles.
OriginalL'auteur Stev