J'ai une base de données MySQL 5 mise à jour toutes les 5 minutes à partir d'une base de données propriétaire sur laquelle je n'ai aucun contrôle (en termes de programmation ou d'accès à la base de données). La base de données MySQL est un miroir de cette base de données propriétaire, et la base de données propriétaire est en charge de la procédure de mise à jour (ce qui signifie que je ne peux pas ajouter de hook lorsque le processus de mise à jour est appelé).PHP suivre les mises à jour récentes à la base de données MySQL pour pousser à l'application Rails?
J'ai une autre application Rails complètement séparée dont j'ai besoin pour importer des enregistrements de la base de données MySQL externe (l'application Rails est alimentée par PostgreSQL et elle est hébergée à distance). Donc, en pardonnant l'extrême inefficacité de cette configuration (c'est un système en transition), j'ai besoin de ceci: un script PHP qui peut soit interroger soit être appelé quand il y a une mise à jour de la base de données MySQL (que ce soit cette mise à jour consiste à mettre à jour des informations sur un enregistrement, un nouvel enregistrement créé ou un enregistrement existant supprimé, etc.), puis à transmettre ces informations (en JSON) via la requête POST à l'application Rails. J'ai déjà écrit un script PHP qui peut extraire les données de MySQL et les analyser pour mon application Rails, mais je ne sais pas comment (a) faire en sorte que le script soit appelé ou appelé mise à jour est faite, ou (b) comment lui dire de ne trouver que les changements les plus récents (depuis sa dernière interrogation, en gardant à l'esprit que plus d'un enregistrement peut avoir été modifié/créé/supprimé).
Quelqu'un peut-il donner des conseils à ce sujet? Comme une question corollaire
, si quelqu'un sait comment sauter PHP et faire la même procédure directement de Rails à une base de données MySQL externe, je (évidemment) préfère cette méthode. Dans l'intérêt d'obtenir au moins une solution réalisable, cependant, j'accepterai volontiers une solution Rails ou PHP.