Je suis sur le point de pousser un site que j'ai développé en utilisant Code Igniter et Doctrine en direct. Je veux le mettre en ligne dans son état actuel, mais je sais que j'ajouterai des fonctionnalités dans le futur qui pourraient nécessiter de changer de colonnes, de changer les valeurs d'énumération et d'ajouter des colonnes à mes notices de doctrine.Ajouter une colonne en utilisant Doctrine pour le site en direct
Jusqu'à maintenant, j'ai été tout simplement laisser tomber les tables et les recréer en utilisant:
Doctrine::createTablesFromModels();
Il est évident que ce n'est pas possible une base de données commence à se remplir avec des données en direct. Comment puis-je ajouter et modifier les colonnes sans perdre et recréer les tables des modèles à chaque fois?
Merci beaucoup.
Quand je fais une classe de migration, dois-je aussi changer mon modèle CodeIgniter avant d'effectuer la migration? Ou mon modèle sera-t-il toujours le même que lors de mon lancement? il semble que je peux juste changer les modèles et appeler: Doctrine_Core :: generateMigrationsFromModels et il va écrire les migrations pour moi? – Rapture
Je ne suis pas sûr, je n'écris jamais manuellement mes modèles, je construis toujours à partir de YAML et quand j'effectue des migrations j'utilise le 'generateMigrationsDiff', j'ajoute tout ce que j'ai besoin d'ajouter pour migrer des données réelles, exécute la migration, YAML. – prodigitalson
Ahh, je vois. J'ai la configuration de Doctrine comme un plugin en ce moment (comme décrit ici: http://www.phpandstuff.com/articles/codeigniter-doctrine-from-scratch-day-1-install-and-setup) et je n'ai pas été en utilisant YAML. Merci pour les conseils. Je vais devoir voir ce que je peux comprendre. – Rapture