Bonjour, j'ai un petit soucis avec mon invite de commande, lorsque je fais des manip sur les bdd les texte deviennent incompréhensible ça ressemble à ça :

s7imple_array8t7ring8r7ing8i7ng8n7g8g78

5 réponses


Bonjour!
Essaie d'être un peu plus clair pour que nous puissions voir comment vous aider. Quelle genre de manipulation tu fais?

Je change une table de ma bdd en faisant : "php bin/console make:entity NomDeL'entité", ça m'affiche : " New property name (press <return> to stop adding fields):" donc j'entre le nom du champ et à partir de là j'ai ce charabia.
ça ne m'empeche pas de faire la manip mais c'est chiant parce que je connais pas par coeur les étapes donc je dois déchifrer

Bonjour,
Ce que tu décris est la création (ou la modif) d'une entité. Donc ce qui SERA une table dans ta BDD.
Les étapes sont simples. Dans l'ordre, tu dois créer l'entité et pour ce faire indiquer de quoi elle est constituée (champ par champ le type (string, ...) la longueur du champ, ... etc).
Lorsque tu as fini tu cliques avec la demande de nouveau champ en le laissant vide et le processus s'arrête. Symfony te crée 2 fichiers.
Il faut alors faire une "migration" (la commande est écrite dans ton terminal après l'indication des fichiers créés) --> 1 fichier de migration est créé dans le répertoire "migrations".
Enfin, il faut faire un "migrate" qui agit alors REELLEMENT sur ta base de données pour créer / modifier l'entité (= la table en BDD) tel qu'indiqué dans ton fichier de migration.
Si tu ne fais pas ces deux étapes après la création de ton entité, cela ne sera PAS pris en compte dans ta base de données.

Ce qui m'étonne dans ton message c'est que tu ne parles pas du tout de ces 2 étapes (migration et migrate).
Tu écris : "Je change une table de ma bdd en faisant ...". Cela donne l'impression que tu penses agir EN DIRECT sur ta base de données.
Mais c'est faux, ... tu ne changes rien dans ta base de données tant que tu n'as pas fait :

  • création ou modif de ton entité
  • migration
  • migrate
    Tu écris aussi : "je connais pas par coeur les étapes donc je dois déchifrer" ... cf la documentation de Symfony. Tout y est clairement expliqué.
    Si tu utilises Chrome, tu pourras même avoir la traduction en français de la doc Symfony (utile si tu ne maitrises pas l'anglais).

Enfin, autre hypopthèse, il est possible que quelque chose soit mal installé. Mais avec tes explications, on a un peu de mal à comprendre le contexte.

Si tu suis ce qu'indique la doc de Symfony pour créer une entité (c'est du grand classique) et que tu continues à avoir ton problème c'est que quelque chose est mal installé.
La question est donc : ... est-ce que tu suis à la lettre ce que dit la doc pour créer / modifier une entité ?
Si la réponse est oui, il faut regarder du côté de l'installation de Symfony.

Enfin, dernière hypothèse, c'est ton éditeur de code qui fonctionne mal, notamment son terminal.
Quel éditeur de code utilises-tu ? ... moi j'ai Visual Studio Code (Microsoft) qui fonctionne remarquablement bien et est entièrement gratuit.

Reste que, pour ce qui me concerne, je n'ai jamais vu un problème comme celui que tu indiques. Cela me semble très bizarre.

Merci d'avoir pris le temps de me répondre mais j'ai bien compris le fonctionnement des migrations, j'ai fais court parce que je voyais pas l'interêt de faire un long texte juste pour demander si il y a quelque chose à parametrer ou autre chose à faire pour que le terminal affiche correctement les informations données par symfony.
J'utilise également VS Code, pour l'installation de symfony j'ai tapé la commande "composer create-project symfony/website-skeleton my_project_name" et j'ai pas eu de soucis particulier donc je vois pas quel serait la chose mal installée..
Sinon j'ai essayé avec powershell mais pareil à partir de l'étape où je dois mettre le type de la colonne ça bug

Si tu es en Symfony 5 il y a une autre commande pour installer un projet qui se termine par --full. Est-ce que ça peut avoir une incidence ... ?
Sinon, désolé, mais je ne vois pas d'explication à ton problème assez étonnant.