Symfony2: schéma de Base de données et des entités qui ne sont pas à jour avec la modification des métadonnées
Je vais avoir des difficultés pour mettre à jour le schéma dans Symfony2.
J'ai importé une base de données dans Symfony2 à l'aide de la doctrine et qui a créé tout l'ORM fichiers YML.
J'ai créé toutes les entités de cette métadonnées et il fonctionnait très bien, mais si je veux changer le schéma de base de données à l'aide de l'orm.yml fichiers, Il ne fait pas de mise à jour de ma base de données ou même de mettre à jour les entités quand je régénérer eux.
L'importation créé l'orm.fichiers yml
/src/{nom}/{ma}bundle/Resources/config/doctrine/métadonnées/orm/{table}.orm.yml
Il a été créé sans erreurs.
Quand je fais:
php app/console doctrine:schema:update --dump-sql
il affiche:
ALTER TABLE accounttypes CHANGE description description VARCHAR(45) NOT NULL
J'Ai Donc:
php app/console doctrine:schema:update --force
Et:
Updating database schema...
Database schema updated successfully! "1" queries were executed
Je peux le faire encore et encore et la même requête s'affiche et j'ai de l'exécuter et il me dit qu'il est fait, mais encore une fois il montre qu'il doit être fait de nouveau.
Je suis ensuite allé à l'orm.yml fichiers et changé de façon drastique, mais rien pas de nouvelles questions apparaissent d'autres que celui qui est toujours là quand je fais cela.
Le fichier AccountTypes.orm.yml
Accounttypes:
type: entity
table: accounttypes
fields:
description:
id: true
type: string
length: 45
fixed: false
nullable: false
generator:
strategy: IDENTITY
lifecycleCallbacks: { }
Changement:
Accounttypes:
type: entity
table: accounttypes
id:
id:
type: integer
generator: { strategy: AUTO }
fields:
description:
id: true
type: string
length: 50
lifecycleCallbacks: { }
Et toujours il me dit j'ai besoin de:
ALTER TABLE accounttypes CHANGE description description VARCHAR(45) NOT NULL
J'ai aussi essayé d'utiliser DoctrineMigrationsBundle et la même requête montre devoir accompli. - Je migrer; Il dit que la requête est effectuée et lorsque je l'utilise encore une fois la même requête s'affiche.
N'quelqu'un a une idée de comment cela se passe? Je suis coincé sur ce point, de sorte que toute aide est grandement appréciée.
OriginalL'auteur Apothan | 2012-05-18
Vous devez vous connecter pour publier un commentaire.
Comme par @Tomasz, ci-dessus, assurez-vous que votre Symfony2 ne pas essayer d'utiliser les annotations pour l'installation de base de données au lieu de yaml.
OriginalL'auteur Meetai.com
J'ai eu le même problème.
Raison a été nouvellement créé bundle n'était pas encore ajouté
app\config.yml
.À cet effet de toutes les Entités de ce nouveau Bundle ai jamais exporté avec
php app/console doctrine:schema:update --dump-sql
OriginalL'auteur dufte