Bonjour,

J'ai une question au sujet de migraion avec Laravel.

D'habitude je travail sur CakePhp 3. Du coup quand je veux créer une table, je la crée sur PHPMyAdmin, et ensuite je fait un "migration_diff". Cette commande permet de créer les fichiers de migration directement en fonction de la BDD. Dès que j'ajoute une colonne sur PHPMyAdmin, je refais un migration_diff, et ça me recrée un autre fichier migration qui détecte la différence entre l'ancien fichier migration et la BDD.
Je trouve vraiment bizarre que Laravel ne fasse pas ça. Car j'ai beau chercher partout, j'ai l'impression que sur Laravel, tout le monde crée les fichiers migrations puis lancent une commande pour créer les tables. Alors que moi je trouve plus pratique de faire l'inverse.

J'ai trouvé un plugin qui permet de faire ce que je cherche : https://github.com/Xethron/migrations-generator
Mais est-ce vraiment vrai que Laravel n'ai pas prévu cette fonctionnalité de base ?

Merci

11 réponses


Azorgh
Réponse acceptée

Hello,

En effet, Laravel ne propose pas ce genre de chose. Je préfère devoir générer ma migration en PHP directement, ca me permet faire moins d'erreur, c'est plus visuel je trouve. Et le fait de le faire en sens inverse, c'est ... je sais pas. Pas logique pour moi ^^

Après, chacun sa manière de faire !

rueduphp
Réponse acceptée

Sur Laravel, comme l'a spécifié @azorgh, c'est une politique différente. Rien ne t'empêche de développer ta propre ligne de commande et de le faire différemment, via une commande perso. Je n'en vois malgré tout pas l'intérêt.

PEDR0
Auteur

"Et le fait de le faire en sens inverse, c'est ... je sais pas. Pas logique pour moi ^^"
Justement, j'ai pris cette habitude avec CakePHP 3. Du coup cette facon de faire dans Laravel me semble moins logique. Je vais essayer de prendre les bonnes habitudes dès le début en faisant comme vous du coup.

Merci pour vos conseils !

CakePHP !== Laravel à partir de là, il ne faut pas être étonné de développer différemment. Sinon, tu continues avec CakePHP. Avec PHP, il y a plusieurs façons de faire la même chose, du plus sale au plus propre, tu choisis.

PEDR0
Auteur

Pourtant, d'apres ce que j'ai lu sur internet, Laravel en version 4 permettait de creer les fichiers migrations par rapport a notre BDD. Donc ca ne doit pas etre si illogique que ca. C'est depuis la version 5 que cette fonctionnalité n'est plus disponible, dommage ...

Depuis que je connais Laravel (je ne sais plus la version) , il y a toujours eu des migrations pour effectuer les rollbacks potentiels. J'ai beau insister, je ne vois pas le problème, ça me semble être très logique.

La seule différence que je vois avec CakePHP, c'est que Laravel demande un modèle consistant par migration alors que CakePHP semble se satisfaire d'une approche itérative.

PEDR0
Auteur

Ca marche, je vais suivre vos conseil, je ne suis que débutant ! :)

Bonsoir.

c'est que Laravel demande un modèle consistant par migration alors que CakePHP se satisfait d'une approche itérative

Tu semble aimer cracher sur les Framework, Langages et Systèmes d'exploitations que tu n'utilises/aimes pas, sans vraiment les connaîtres.
Pour information, CakePHP ne permet pas de ne générer des migrations qu'à partir de la BDD, il permet également de générer les migrations normalement, c'est juste qu'il ajoute la fonctionnalité et rien de plus.
Je te demanderais donc de ne pas juger quelque chose que tu n'utilises/aimes pas, car là tu es plus insultant qu'autre chose.

@Lartak Navré d'avoir semblé insultant. J'essaie de donner mon avis pour aider. Après chacun est libre de me lire ou pas.

Bonjour,

En cherchant autre chose, je suis tomber sur ce dépot, il peut faire ton affaire je pense : https://packagist.org/packages/sqlmigration/migrations-seedings