Bubble SQL Database Connector
Pour l’instant, il n’est pas possible de choisir le pays où seront hébergées nos données avec Bubble, ce qui peut être frustrant. Et selon les besoins business de la solution à développer, nous pouvons avoir besoin d’intégrer une base de données externe à notre application Bubble. Afin d’avoir le contrôle sur nos données.
Heureusement, Bubble a déjà prévu une solution pour faciliter l’intégration d’une base de données SQL hébergée sur un serveur privé ou chez AWS (RDS) par exemple.
Le plugin SQL Database Connector vous permet d’effectuer facilement des requêtes SQL sur les bases de données SQL, My SQL PostGres et Microsoft SQL. Bien qu’il nécessite certaines compétences technique, mais rien d’impossible.
Le plugin SQL Database Connector
Le plugin du connecteur de base de données SQL se connecte aux bases de données et exécute des requêtes SQL à partir de Bubble. Ces requêtes peuvent être déclenchées en tant qu’actions, sources de données (elles apparaissent comme des API externes) ou les deux. Bubble prend en charge la connexion à PostGres, MySQL et Microsoft SQL. Cela donne un nombre infini de possibilités et peut être adapté à de nombreux cas d’utilisation.
Pour utiliser ce plugin, vous devez maîtriser les requêtes SQL pour pouvoir interroger votre base de données à partir de Bubble. Vous devez également connaître Bubble pour une meilleure intégration dans vos flux de travail.
Au niveau de la base de données, vous disposerez des données pour faciliter votre authentification au niveau de Bubble. L’interface est pratique et facile si vous avez déjà manipulé les API avec le connecteur API de Bubble.
Vous serez en mesure de CRUD (Create, Read, Update and Delete) dans votre base de données à partir de votre flux de travail dans Bubble. En fonction de vos cas d’utilisation. Il n’y a pas de limite à la complexité des requêtes et à la vitesse de chargement.
Dans certains cas, il est préférable d’utiliser un système backend spécialisé comme Xano ou Backendless pour faciliter la maintenance et l’évolutivité de votre backend. Si vous avez des questions à ce sujet, je serai heureux de vous aider.
Mes Conseils
Voici mes conseils pour tirer le meilleur parti de ce plugin et profiter de cette intégration dans Bubble et des avantages qu’elle offre :
- Toutes les instructions SQL sont autorisées, mais pour les instructions SELECT, vous devez ajouter LIMIT N à la fin, où N <= 100. Afin de ne pas avoir de problèmes du côté de Bubble.
Une fois que vous avez testé et enregistré la requête, vous pouvez l’utiliser comme action, comme source de données ou les deux, selon la façon dont vous l’avez configurée. Veuillez noter qu’une requête SELECT renvoie une liste. Par conséquent, lorsque vous l’utilisez comme résultat d’une étape précédente dans un flux de travail, vous devez sélectionner un élément spécifique à l’aide de :first item, :last item, etc. Comme c’est le cas avec les listes dans Bubble. - Les caractères spéciaux ne sont pas pris en charge par l’intégration MySQL par défaut, qui utilise le codage UTF8. Vous pouvez ajouter ?charset=UTF8MB4_GENERAL_CI pour résoudre ce problème et envoyer des caractères comme les emojis à votre base de données SQL de manière appropriée. Bien que je ne le recommande pas pour des raisons de fluidité.
- Une connexion à une base de données doit ressembler à ceci :
mysql://username:password@my-db-instance.endpoint.us-east 1.rds.amazonaws.com:PORT/db_name
Si le mot de passe contient des caractères spéciaux, ils doivent être encodés dans l’URL, par exemple en remplaçant # par %23. Comme nous l’avons vu, Bubble ne prend en charge que l’UTF8. Mais je pense que Bubble va améliorer cet encodage au fil du temps. - Si vous ajoutez des paramètres, mettez dans la requête un ? comme caractère générique pour lier le paramètre, par exemple pour deux paramètres :
SELECT * FROM mytable WHERE mycolumn1 = ? AND mycolumn2 LIKE ? LIMIT 200
Définissez l’option « Use as » sur « Data » si vous vous y référez directement en tant que source de données, ou sur « Action » si vous l’utilisez comme étape d’un workflow, l’étape suivante se référant alors à ses résultats. Une fois que la requête a été initialisée, elle crée un pseudo type de données, que vous pouvez définir votre boucle itérative.
- N’utilisez une base de données externe que si c’est la seule solution pour votre cas d’utilisation. N’utilisez une base de données externe que si c’est la seule solution pour votre cas d’utilisation. Dans la plupart des cas, Bubble sera suffisant. Vous vous épargnerez ainsi les contraintes techniques de maintenance et de mise en œuvre.
Et malheureusement, Bubble ne dispose pas d’une documentation complète à ce sujet. Mais si vous avez des connaissances en code et en base de données SQL avec une maîtrise de Bubble tout sera clair pour vous car son intégration est apparente. Si vous avez des questions, vous pouvez laisser un commentaire ou poser une question sur Bubble forum.