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 :

Fichiers générés après commandes [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Par défaut Fichiers générés après commandes
    Bonjour à tous,

    je suis développeur mobile, je n'ai donc que très peu de connaissances en Symony, mais mon client souhaite une évol' qui m'oblige à mettre les mains "dans le cambouis".

    J'ai ajouté 5 tables dans la BDD, j'ai généré le fichier schema.yml grâce à la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ./symfony doctrine:build-schema
    puis j'ai généré les classes associées aux tables via la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ./symfony doctrine:build --env="prod" --all-classes
    Tout s'est bien déroulé et sur le serveur de test je n'ai aucun problème pour faire un appel à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $oma_table = Doctrine::getTable('MaTable')->findOneByIdmobile($idMobile);
    Le soucis est que mon client ne souhaite pas passer les 2 lignes de commandes en production car n'étant pas un expert symfony lui non plus, et comme j'ai eu des problèmes sur le serveur de test, il a peur que son site soit indisponible (on a eu des erreurs 500 un peu délicates à gérer ...)

    Bref, j'ai donc copier le schema.yml dans le répertoire de production.

    Et j'ai également recopier l'ensemble des classes générées dans le répertoire "lib" (filter, form et model) et malgré ça impossible d'accéder à mon web service j'ai une erreur 500 sur ce Web service à chaque fois et le problème vient de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $oma_table = Doctrine::getTable('MaTable')->findOneByIdmobile($idMobile);

    Est-ce que quelqu'un sait pourquoi le copier coller des fichiers générés n'a pas suffit ? Est-ce que j'oublie d'autres fichiers générés ailleurs ?

    Merci beaucoup pour votre aide par avance.
    Rémi

  2. #2
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 534
    Par défaut
    tu as rajouté table et champs à ta database ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Par défaut
    Bonjour,

    merci pour ton aide mais je ne comprends pas la question. Dans le fichier database.yml il n'y a que les configs de connexion il me semble ?

    Ce que j'ai fait en résumé :
    Création manuelle des tables et des champs dans la base de données par requêtes SQL. Puis j'ai passé les 2 lignes de commande ci-dessus en enfin j'ai copier coller les fichiers générés (schema.yml et les classes qui sont dans /lib/ forms/, filter/ et model/ ) de test vers la prod.

  4. #4
    Membre émérite Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Par défaut
    Tu as vider ton cache ?
    Tu changes des classes symfony. Symfony par défaut cache certaine parti de ton code pour gagner du temps.
    Ensuite en Prod je pense que tu dois avoir un opcode du type APC donc si c'est le cas alors il faut faire la commande suivante pour apache :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /etc/init.d/apache2 graceful
    Si ça ne fonctionne pas alors fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /etc/init.d/apache2 restart
    (A personnaliser en fonction de la distribution)

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Par défaut
    J'ai fait le redémarrage apache et rien de mieux : (


    Pour information si ça parle à quelqu'un voici l'erreur générée sur la ligne de l'appel à l'objet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
     Couldn't find class MaTable [string:Exception:private] => [code:protected] => 0 [file:protected] => /home/user/public_html/lib/vendor/symfony-1.4.0/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Table.php [line:protected] => 299 [trace:Exception:private] => Array ( [0] => Array ( [file] => /home/user/public_html/lib/vendor/symfony-1.4.0/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Table.php [line] => 249 [function] => initDefinition [class] => Doctrine_Table [type] => -> [args] => Array ( ) ) [1] => Array ( [file] => /home/user/public_html/lib/vendor/symfony-1.4.0/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php [line] => 1126 [function] => __construct [class] => Doctrine_Table [type] => -> [args] => Array ( [0] => MaTable [1] => Doctrine_Connection_Mysql Object ( [driverName:protected] => Mysql [dbh:protected] => [tables:protected] =>
     
    etc ...

    Merci pour votre aide !

  6. #6
    Membre émérite Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Par défaut
    je ne sais pas sur quel environnement tu as testé la première fois. Il se peu que tu es testé sur un environnement windows et que tout fonctionne mais quand tu es passé sous linux chez le client ça ne fonctionne plus... Linux est sensible à la casse.

    Regarde comment sont déclarer les noms des tables dans MySQL.
    Ensuite regarde si la casse est respecter dans le schema.yml.
    Si c'est pas le cas alors ajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tableName: NomDeLaTable
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    MailQueueEntry:
      connection: doctrine
      tableName: mail_queue
      columns:
        message:
          type: blob
      actAs:
        Timestampable:
          created:
            name: created_at
            type: timestamp
            format: Y-m-d H:i:s
    Normalement ton problème sera résolu

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
     
    MaTable:
      connection: doctrine
      tableName: ma_table
      columns:
        commerce:
          type: string(100)
          fixed: false
          unsigned: false
          primary: true
          autoincrement: false
        latitude:
          type: float()
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        longitude:
          type: float()
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false


    C'est exactement ce que j'ai. Ma partie de dev est sur le même serveur que ma partie de production (on a une seule BDD en plus), il n'y a donc aucun risques d'environnements différents ce sont exactement les mêmes.

    Dans MySQL ma table est bien nommée ma_table donc à priori il n'y a pas de problème. Ce qui est fou c'est qu'on a d'un côté les fichiers qui marchent et de l'autre, je pense avoir copié tous les fichiers générés dont le plus important doit être le schema.yml, mais on n'a pas le même résultat. Est-ce que le fait de passer les lignes de commande ont un autre effet que générer ces fichiers ?

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 31/08/2011, 17h42
  2. Réponses: 2
    Dernier message: 03/09/2010, 10h11
  3. fichier vide après command cp (unix)
    Par leo77 dans le forum C
    Réponses: 6
    Dernier message: 17/04/2009, 14h57
  4. Réponses: 3
    Dernier message: 16/08/2006, 17h32
  5. fichier modifier apres instruction de lecture???
    Par cyberwaves dans le forum C++
    Réponses: 4
    Dernier message: 09/09/2004, 22h02

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