IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Unknown database type enum requested


Sujet :

Symfony PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Février 2008
    Messages : 50
    Points : 34
    Points
    34
    Par défaut Unknown database type enum requested
    Bonjour,

    J'utilise Symfony 4.1. Sur mon serveur de test (une VM), j'ai effectué quelques modifications dont passer une propriété d'une entité de nullable=false à nullable=true
    Tout fonctionne convenablement.

    Puis j'ai voulu mettre mes modifications sur le serveur de production mais lorsque je veux mettre à jour la bdd avec la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     php bin/console doctrine:migration:diff
    j'obtiens cette erreur:
    Unknown database type enum requested, Doctrine\DBAL\Platforms\MySQL57Platfo
    rm may not support it.
    Apparemment, il n’accepte plus le type enum. Pourtant, je n'ai jamais eu cette erreur et la modif de la bdd est effectuée sur un champs text.

    A votre avis, ca vient de Symfony ou de MariaDB?

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Septembre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2017
    Messages : 4
    Points : 9
    Points
    9
    Par défaut
    C’est que vous utilisez le type ENUM dans vos tables MySQL qui n’est pas compris par PDO. Le plus simple pour le résoudre : éditer le fichier config.yml et rajouter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mapping_types:
        enum: string
    A la fin de la rubrique doctrine:dbal:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    doctrine:
        dbal:
            driver: %database_driver%
             host: %database_host%
             port: %database_port%
             dbname: %database_name%
             user: %database_user%
             password: %database_password%
             charset: UTF8
             mapping_types:
                 enum: string

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Février 2008
    Messages : 50
    Points : 34
    Points
    34
    Par défaut
    ok merci, je vais tester cette modification.

    Par contre, je ne comprend pas pourquoi ca intervient maintenant alors que le site est en ligne depuis plusieurs mois et que je n'ai pas touché aux types des champs de la bdd.
    De plus, je n'ai pas ce problème sur le serveur de test.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Février 2008
    Messages : 50
    Points : 34
    Points
    34
    Par défaut
    J'ai réussi à trouvé le problème.
    Dans la bdd de symfony, j'avais ajouté des tables pour un script (qui n'a rien à voir avec Symfony) et du coup, ca rentrait en conflit avec Symfony. Lors de la mise à jour de la bdd, Symfony voulait supprimer les tables dont une où il y avait un champs ENUM.
    J'ai transféré les tables sur une autre bdd et maintenant, ca fonctionne

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Septembre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2017
    Messages : 4
    Points : 9
    Points
    9
    Par défaut
    Cette exception provient soit un bug causé de votre version de doctrine actuelle soit vous avez ajouté un champ du type ENUM au niveau de votre base de données comme j'ai expliqué auparavant. Donc c'est bien que ce n'est un pas un bug et que vous avez réglé le problème.

Discussions similaires

  1. Connexion Doctrine et Oracle, "unknow database type aq$_subscribers requested"
    Par mentheAnanas dans le forum Connexions aux bases de données
    Réponses: 3
    Dernier message: 26/04/2018, 16h23
  2. Réponses: 0
    Dernier message: 26/04/2012, 11h41
  3. 1 champ de type enum à 3 valeurs ou 2 champs booléens ?
    Par El Saigneur dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 22/01/2005, 08h53
  4. [VB.NET] Variable de type enum avec du string
    Par Mouse dans le forum Windows Forms
    Réponses: 4
    Dernier message: 13/01/2005, 18h22
  5. [MySQL] Valeur par défaut d'un type ENUM
    Par aliasjcdenton dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 31/10/2004, 20h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo