THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


J'ai besoin de connecter Thelia à une deuxième base de données avec un schéma différents de celui de la première base de données créée au moment de l'installation de Thelia.
L'objectif est de récupérer des données de la deuxième base de données et de les utiliser dans Thelia et les enregistrer dans notre première base de données si besoin.
Est ce que c'est possible de le faire avec Thelia?

Offline


De quel type de données s'agit il ? Que veux-tu faire exactement ?


OpenStudio Toulouse

Offline


Je veux connecté mon application Thelia à une deuxième bases de données.

Exemple:
Première BD: TheliaBD
Deuxième BD: BD2
Pour connecter un utilisateur X à mon application Thelia, je veux vérifier s'il existe ou pas dans ma base de donnée BD2.
Il s'agit de comparer son email dans la BD2 avec l'email saisie au moment de l'identification dans l'application Thelia.

Pour le faire je dois assurer une cnx de ma base de données BD2 avec mon application Thelia.

Last edited by Samia (24-10-2018 07:14:13)

Offline


Bonjour,

Pour connecter une deuxième base de données, il faut le module
https://github.com/thelia-modules/DatabasesManager

Pour récupérer des données de la deuxième base de données et de les utiliser, il va falloir que tu fasses ton module

Offline


Bonjour,
Merci pour votre retour j'ai déjà installé ce module je suis entrain de suivre les étapes de mise en place.

Mais d'après ce que vous avez dit ce module ne permet que la connexion? C'est à dire pour manipuler mes données de la deuxième base je dois faire un autre module??

Offline


C'est à dire pour manipuler mes données de la deuxième base je dois faire un autre module??

Tout à fait.


OpenStudio Toulouse

Offline


J'ai besoin d'aide pour exporter ma deuxième base de données sous le même format (les mêmes balises) comme dans l'exemple ci dessous:

<databases>
    <database defaultIdMethod="native" name="thelia" namespace="Module\Namespace\Model">
        <table name="theliaTable">
            <column type="integer" name="id" required="true" primaryKey="true" autoIncrement="true"/>
            <column type="integer" name="field" required="true"/>
        </table>

        <external-schema filename="local/config/schema.xml" referenceOnly="true" />
    </database>

    <database defaultIdMethod="native" name="anotherDB" namespace="Module\Namespace\Model">
        <!-- Note database name for later -->
        <table name="externalTable">
            <column type="integer" name="id" required="true" primaryKey="true" autoIncrement="true"/>
            <column type="integer" name="field" required="true"/>
        </table>
    </database>

    <!-- Add any database node you need --->
</database>

Offline


Je ne comprends pas ta question.


OpenStudio Toulouse

Offline


Dans le fichier schema.xml il faut ajouter ma deuxième base de données sous le format suivant:

<database defaultIdMethod="native" name="anotherDB" namespace="Module\Namespace\Model">
        <!-- Note database name for later -->
        <table name="externalTable">
            <column type="integer" name="id" required="true" primaryKey="true" autoIncrement="true"/>
            <column type="integer" name="field" required="true"/>
        </table>
    </database>
Je trouve pas de solution pour générer un schema.xml de ma deuxième base de données. Dans votre doc j'ai trouvé que vous avez utilisé Propel donc c'est bien ça qu'il faut utiliser?

Offline


Tu n'as pas besoin de ce module ni de Propel pour accéder à ta base de données, tu peux utiliser PDO directement.


OpenStudio Toulouse

Offline


Ici https://github.com/thelia-modules/DatabasesManager/ il et demande de mettre le schema.xml de ta deuxième base de données donc là je vois pas trop ce vous voulez dire par l'utilisation de PDO.

Offline


Laisse tomber le module DatabasesManager, et dans ton module fait tes requêtes SQL à l'autre base avec PDO (juste au cas où tu ne connaitrais pas PDO : https://fmaz.developpez.com/tutoriels/p … ndre-pdo/).


OpenStudio Toulouse

Offline


Si j'ai bien compris, dans mon module je dois faire la connexion à ma base de données ainsi que mes requêtes.
Concernant le code de la connexion je dois le mettre sous quel package de mon module : controller, config, .....

Offline


Absolument
suis le conseil de Roadster31, fait ça dans un premier si tu n'es pas familiarisé avec la création de module.
La doc => http://doc.thelia.net/en/documentation/ … index.html

Une fois que cela marchera comme tu veux, tu pourras toujours changer le code pour le passer sur une version plus structuré.
(avec un schema.xml dans ton module et le module DatabasesManager)

Offline


Oui ben j'ai pas de problème avec la création de module, et j'avais pas de problème avec le module DatabasesManager jusqu'au moment où dans la tuto il demande de mettre le shema.xml de ma base de données que j'ai pas pu le générer avec la même structure que la base Thelia.

Offline


Merci pour votre aide j'ai réussi à établir la connexion à ma base de données en utilisant PDO.

Last edited by Samia (25-10-2018 17:03:54)