{"id":8844,"date":"2016-09-20T11:16:25","date_gmt":"2016-09-20T11:16:25","guid":{"rendered":"https:\/\/dev.railscarma.com\/usage-sql-nosql-databases-single-rails-application\/"},"modified":"2021-06-06T11:29:09","modified_gmt":"2021-06-06T11:29:09","slug":"utilisation-des-bases-de-donnees-sql-nosql-application-a-rails-uniques","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/utilisation-des-bases-de-donnees-sql-nosql-application-a-rails-uniques\/","title":{"rendered":"Utilisation de bases de donn\u00e9es SQL et NoSQL dans une application Single Rails (MySQL, PostgreSQL et MongoDB)"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"8844\" class=\"elementor elementor-8844\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5a734cd5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5a734cd5\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-504b0dab\" data-id=\"504b0dab\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2486cd25 elementor-widget elementor-widget-text-editor\" data-id=\"2486cd25\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tIl existe des raisons distinctes pour lesquelles vous devriez envisager d&#039;avoir plusieurs bases de donn\u00e9es dans votre application Ruby on Rails. Dans ma situation, je m&#039;attendais \u00e0 stocker de grandes quantit\u00e9s de donn\u00e9es. Consid\u00e9rez que la base de donn\u00e9es par d\u00e9faut est MySQL. Dans notre application, le fichier database.yml \u00e9crit les connexions pour MySQL de mani\u00e8re normale. Apr\u00e8s cela, pour connecter postgresql dans la m\u00eame application, nous devons cr\u00e9er des fichiers personnalis\u00e9s.\n\n<strong>Cr\u00e9ez les fichiers de base de donn\u00e9es personnalis\u00e9s pour connecter postgresql<\/strong>\n\nNous allons cr\u00e9er une deuxi\u00e8me base de donn\u00e9es appel\u00e9e <strong>&quot;Statistiques&quot;<\/strong>\n\nTout d&#039;abord, cr\u00e9ez le fichier <strong>config\/database_stats.yml<\/strong> et remplissez-le comme vous le faites avec le fichier de configuration de la base de donn\u00e9es principale. Votre fichier ressemblera \u00e0 ceci\u00a0:\n\n<strong>d\u00e9veloppement:<\/strong>\n<strong>\u00a0 adaptateur\u00a0: postgresql<\/strong>\n<strong>\u00a0 encodage : utf8<\/strong>\n<strong>\u00a0 reconnecter\u00a0: faux<\/strong>\n<strong>\u00a0 base de donn\u00e9es\u00a0: db_info_development<\/strong>\n<strong>\u00a0 piscine : 5<\/strong>\n<strong>\u00a0 h\u00f4te\u00a0: h\u00f4te local<\/strong>\n<strong>\u00a0 nom d&#039;utilisateur : postgres<\/strong>\n<strong>\u00a0 mot de passe:<\/strong>\n\nNous allons maintenant cr\u00e9er un r\u00e9pertoire qui contiendra le sch\u00e9ma et toutes les migrations de la base de donn\u00e9es Stats. Cr\u00e9er un r\u00e9pertoire avec le nom <strong>db_stats<\/strong> dans la racine des rails et copiez la structure comme mentionn\u00e9 ci-dessous\n\n<strong>\u2013db<\/strong>\n<strong>\u00a0 -\u00e9migrer<\/strong>\n<strong>\u00a0 sch\u00e9ma.rb<\/strong>\n<strong>\u00a0 graines.rb<\/strong>\n<strong>\u2013db_stats<\/strong>\n<strong>\u00a0 -\u00e9migrer<\/strong>\n<strong>\u00a0 sch\u00e9ma.rb<\/strong>\n<strong>\u00a0 graines.rb<\/strong>\n\nLes fichiers cr\u00e9\u00e9s doivent \u00eatre vides.\n\n<strong>Ajouter des t\u00e2ches de r\u00e2teau<\/strong>\n\nPour g\u00e9rer la base de donn\u00e9es de statistiques, nous devons \u00e9crire des t\u00e2ches personnalis\u00e9es pour la cr\u00e9ation, les migrations et d&#039;autres fonctionnalit\u00e9s. Cr\u00e9er un fichier<strong> lib\/tasks\/db_stats.rake<\/strong> avec le contenu ci-dessous\n\n<strong>espace de noms\u00a0:\u00a0les statistiques le font<\/strong>\n\n<strong>\u00a0 espace de noms :db do |ns|<\/strong>\n\n<strong>\u00a0\u00a0\u00a0 t\u00e2che\u00a0:\u00a0drop do<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 Rake::Task[&quot;db:drop&quot;].invoke<\/strong>\n<strong>\u00a0\u00a0\u00a0 fin<\/strong>\n\n<strong>\u00a0\u00a0\u00a0 t\u00e2che\u00a0:\u00a0cr\u00e9er, faire<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 Rake::Task[&quot;db:create&quot;].invoke<\/strong>\n<strong>\u00a0\u00a0\u00a0 fin<\/strong>\n\n<strong>\u00a0\u00a0\u00a0 t\u00e2che\u00a0: configuration \u00e0 faire<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 Rake::Task[&quot;db:setup&quot;].invoke<\/strong>\n<strong>\u00a0\u00a0\u00a0 fin<\/strong>\n\n<strong>\u00a0\u00a0\u00a0 t\u00e2che\u00a0: migrer faire<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 Rake::Task[&quot;db:migrate&quot;].invoke<\/strong>\n<strong>\u00a0\u00a0\u00a0 fin<\/strong>\n\n<strong>\u00a0\u00a0\u00a0 t\u00e2che\u00a0:\u00a0rollback faire<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 Rake::Task[&quot;db:rollback&quot;].invoke<\/strong>\n<strong>\u00a0\u00a0\u00a0 fin<\/strong>\n\n<strong>\u00a0\u00a0\u00a0 t\u00e2che\u00a0: graine faire<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 Rake::Task[&quot;db:seed&quot;].invoke<\/strong>\n<strong>\u00a0\u00a0\u00a0 fin<\/strong>\n\n<strong>\u00a0\u00a0\u00a0 t\u00e2che\u00a0: version \u00e0 faire<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 Rake::Task[&quot;db:version&quot;].invoke<\/strong>\n<strong>\u00a0\u00a0\u00a0 fin<\/strong>\n\n<strong>\u00a0\u00a0\u00a0 espace de noms\u00a0: sch\u00e9ma \u00e0 faire<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 t\u00e2che\u00a0: charger faire<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Rake::Task[&quot;db:schema:load&quot;].invoke<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 fin<\/strong>\n\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 t\u00e2che\u00a0: dump faire<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Rake::Task[&quot;db:schema:dump&quot;].invoke<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 fin<\/strong>\n<strong>\u00a0\u00a0\u00a0 fin<\/strong>\n\n<strong>\u00a0\u00a0\u00a0 espace de noms\u00a0:\u00a0tester faire<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 t\u00e2che\u00a0:\u00a0pr\u00e9parer, faire<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Rake::Task[&quot;db:test:prepare&quot;].invoke<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 fin<\/strong>\n<strong>\u00a0\u00a0\u00a0 fin<\/strong>\n\n<strong>\u00a0\u00a0\u00a0 # ajoute et ajoute les t\u00e2ches appropri\u00e9es \u00e0 toutes les t\u00e2ches d\u00e9finies ci-dessus<\/strong>\n<strong>\u00a0\u00a0\u00a0 ns.tasks.each faire |t\u00e2che|<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 task.enhance [&quot;stats:set_custom_config&quot;] faire<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Rake::Task[&quot;stats:revert_to_original_config&quot;].invoke<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 fin<\/strong>\n<strong>\u00a0\u00a0\u00a0 fin<\/strong>\n<strong>\u00a0 fin<\/strong>\n\n<strong>\u00a0 t\u00e2che\u00a0:\u00a0set_custom_config faire<\/strong>\n<strong>\u00a0\u00a0\u00a0 # enregistre les variables actuelles<\/strong>\n<strong>\u00a0\u00a0\u00a0 @original_config = {<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 env_schema\u00a0: ENV[&#039;SCHEMA&#039;],<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 configuration\u00a0: Rails.application.config.dup<\/strong>\n<strong>\u00a0\u00a0\u00a0 }<\/strong>\n\n<strong>\u00a0\u00a0\u00a0 # d\u00e9finit les variables de configuration pour la base de donn\u00e9es personnalis\u00e9e<\/strong>\n<strong>\u00a0\u00a0\u00a0 ENV[&#039;SCHEMA&#039;] = \u00ab db_stats\/schema.rb \u00bb<\/strong>\n<strong>\u00a0\u00a0\u00a0 Rails.application.config.paths[&#039;db&#039;] = [\u00ab db_stats \u00bb]<\/strong>\n<strong>\u00a0\u00a0\u00a0 Rails.application.config.paths[&#039;db\/migrate&#039;] = [\u201cdb_stats\/migrate\u201d]<\/strong>\n<strong>\u00a0\u00a0\u00a0 Rails.application.config.paths[&#039;db\/seeds&#039;] = [\u201cdb_stats\/seeds.rb\u201d]<\/strong>\n<strong>\u00a0\u00a0\u00a0 Rails.application.config.paths[&#039;config\/database&#039;] = [\u201cconfig\/database_stats.yml\u201d]<\/strong>\n<strong>\u00a0 fin<\/strong>\n\n<strong>\u00a0 t\u00e2che\u00a0:revert_to_original_config faire<\/strong>\n<strong>\u00a0\u00a0\u00a0 # r\u00e9initialise les variables de configuration aux valeurs d&#039;origine<\/strong>\n<strong>\u00a0\u00a0\u00a0 ENV[&#039;SCHEMA&#039;] = @original_config[:env_schema]<\/strong>\n<strong>\u00a0\u00a0\u00a0 Rails.application.config = @original_config[:config]<\/strong>\n<strong>\u00a0 fin<\/strong>\n<strong>fin<\/strong>\n\nUne fois toute cette configuration effectu\u00e9e, nous pouvons cr\u00e9er la base de donn\u00e9es de statistiques et effectuer sa premi\u00e8re migration\u00a0:\n<blockquote><strong>Statistiques de rake $\u00a0:\u00a0db\u00a0: cr\u00e9er<\/strong>\n<strong> Statistiques de rake $\u00a0:\u00a0db\u00a0: migrer<\/strong><\/blockquote>\nCela g\u00e9n\u00e9rera le fichier de sch\u00e9ma de la base de donn\u00e9es Stats dans <strong>db_stats\/schema.rb.<\/strong>\n\nAjouter un g\u00e9n\u00e9rateur de migration personnalis\u00e9 Nous ne pouvons pas utiliser le g\u00e9n\u00e9rateur de rails car le chemin code en dur le <strong>base de donn\u00e9es\/migrer<\/strong>. Par cons\u00e9quent, nous devons disposer d&#039;un g\u00e9n\u00e9rateur personnalis\u00e9 pour cr\u00e9er toutes les migrations pour la base de donn\u00e9es de statistiques. Cr\u00e9ez le g\u00e9n\u00e9rateur dans <strong>lib\/generators\/stats_migration_generator.rb<\/strong> et collez le code suivant : require <strong>&#039;rails\/generators\/active_record\/migration\/migration_generator&#039;<\/strong>\n\n<strong>classe StatsMigrationGenerator &lt; ActiveRecord::Generators::MigrationGenerator<\/strong>\n<strong>source_root File.join(File.dirname(ActiveRecord::Generators::MigrationGenerator. instance_method(:create_migration_file) .source_location.first), \u00ab\u00a0mod\u00e8les\u00a0\u00bb)<\/strong>\n\n<strong>\u00a0 def create_migration_file<\/strong>\n<strong>\u00a0\u00a0\u00a0 set_local_assigns\u00a0!<\/strong>\n<strong>\u00a0\u00a0\u00a0 validate_file_name\u00a0!<\/strong>\n<strong>\u00a0\u00a0\u00a0 migration_template @migration_template, \u00ab db_stats\/migrate\/#{file_name}.rb \u00bb<\/strong>\n<strong>\u00a0 fin<\/strong>\n<strong>fin<\/strong>\n\nAvec tout cela en place, nous pouvons d\u00e9sormais g\u00e9n\u00e9rer des migrations pour la base de donn\u00e9es Stats\u00a0:\n<blockquote><strong>$ rails g stats_migration nom_migration<\/strong><\/blockquote>\nCe fichier de migration est cr\u00e9\u00e9 dans le r\u00e9pertoire de migration de la base de donn\u00e9es de statistiques. <strong>db_stats\/migrate.<\/strong>\n\nApr\u00e8s cela, ex\u00e9cutez la commande suivante pour migrer.\n<blockquote><strong>Statistiques de rake $\u00a0:\u00a0db\u00a0: migrer<\/strong><\/blockquote>\nFinaliser la connexion et les mod\u00e8les pour <strong>PostgreSQL<\/strong>\nNous avons presque termin\u00e9. Ajouter un nouveau fichier d&#039;initialisation <strong>config\/initialiseurs\/db_stats.rb<\/strong> et collez ce qui suit\u00a0:\n<blockquote><strong># enregistre les param\u00e8tres de la base de donn\u00e9es de statistiques dans la variable globale<\/strong>\n\n<strong>DB_STATS = YAML::load(ERB.new(File.read(Rails.root.join(&quot;config&quot;,database_stats.yml&quot;))).result)[Rails.env]<\/strong><\/blockquote>\n<strong>Configuration de MongoDB\u00a0:<\/strong>\n\nMongoid gem est un framework ODM (Object-Document-Mapper) pour MongoDB dans Ruby.\n<blockquote><strong>gemme &#039;mongo\u00efde&#039;, &#039;~&gt; 5.1.0&#039;<\/strong><\/blockquote>\nVous pouvez g\u00e9n\u00e9rer un fichier de configuration en ex\u00e9cutant le g\u00e9n\u00e9rateur. Mongoid s&#039;occupera ensuite de tout le reste \u00e0 partir de l\u00e0.\n<blockquote><strong>$ rails g mongoide:config<\/strong><\/blockquote>\nEnsuite, cela cr\u00e9e<strong> mongoide.yml<\/strong> comme ci-dessous\n\n<strong>d\u00e9veloppement:<\/strong>\n<strong>\u00a0\u00a0 \u00a0clients\u00a0:<\/strong>\n<strong>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0d\u00e9faut:<\/strong>\n<strong>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0base de donn\u00e9es\u00a0: mongoide<\/strong>\n<strong>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0h\u00f4tes:<\/strong>\n<strong>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0-h\u00f4te local\u00a0: 27017<\/strong>\n\nMaintenant, dans notre application, nous avons int\u00e9gr\u00e9 avec succ\u00e8s le <strong>MySQL<\/strong>, <strong>postgresql<\/strong> et <strong>mongodb<\/strong>\n\nConsid\u00e9rez trois mod\u00e8les\u00a0: utilisateur, produit, image. L&#039;utilisation de ces trois mod\u00e8les nous aidera \u00e0 connecter diff\u00e9rentes bases de donn\u00e9es dans notre application. Mod\u00e8le utilisateur avec connexion MySQL\n\n<strong>Utilisateur de classe &lt; ActiveRecord :: Base<\/strong>\n<strong>fin<\/strong>\n\n<strong>$ lance la migration vers create_users field_names<\/strong>\n\n<strong>rake db: migrer<\/strong>\n\nCe fichier de migration est cr\u00e9\u00e9 sous db\/migrate et sera stock\u00e9 dans la base de donn\u00e9es MySQL.\n\n<strong>classe Produit &lt; ActiveRecord :: Base<\/strong>\n<strong>\u00a0\u00a0 \u00a0\u00e9tablir_connexion DB_STATS<\/strong>\n<strong>fin<\/strong>\n\n<strong>$ rails g stats_migration create_products<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 cr\u00e9er db_stats\/migrate\/20151201191642_create_products.rb<\/strong>\n\nCe fichier de migration est cr\u00e9\u00e9 dans le r\u00e9pertoire migrate de la base de donn\u00e9es de statistiques db_stats\/migrate.\n\n<strong>Image de classe<\/strong>\n<strong>\u00a0\u00a0 \u00a0inclure Mongoid :: Document<\/strong>\n\n<strong>\u00a0\u00a0 \u00a0champ\u00a0: nom, tapez\u00a0:\u00a0cha\u00eene<\/strong>\n<strong>\u00a0\u00a0 \u00a0champ\u00a0: description, tapez\u00a0:\u00a0cha\u00eene<\/strong>\n<strong>fin<\/strong>\n\nPas besoin d&#039;ex\u00e9cuter des migrations pour mongodb puisque c&#039;est le cas <strong>ODM<\/strong>. Ces donn\u00e9es sont cr\u00e9\u00e9es sous <strong>MongoDB.<\/strong>\n\nNe h\u00e9sitez pas \u00e0 <a href=\"\/fr\/contactez-nous\/\">Contactez-nous<\/a> si vous avez des questions.\n<div class=\"author-info\"><strong>Katneni Naga Sai Tejaswi<\/strong><\/div>\n<div class=\"author-info\"><strong>D\u00e9veloppeur de logiciels senior<\/strong><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2af19d6c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2af19d6c\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6099c050\" data-id=\"6099c050\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1d11eaed elementor-widget elementor-widget-heading\" data-id=\"1d11eaed\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Abonnez-vous pour les derni\u00e8res mises \u00e0 jour<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4b234b2e elementor-widget elementor-widget-shortcode\" data-id=\"4b234b2e\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t\t\t\t<script type=\"text\/javascript\">\n\t\t\t\t\t\tvar gCaptchaSibWidget;\n                        var onloadSibCallbackInvisible = function () {\n\n                            var element = document.getElementsByClassName('sib-default-btn');\n                            var countInvisible = 0;\n                            var indexArray = [];\n                            jQuery('.sib-default-btn').each(function (index, el) {\n                                if ((jQuery(el).attr('id') == \"invisible\")) {\n                                    indexArray[countInvisible] = index;\n                                    countInvisible++\n                                }\n                            });\n\n                            jQuery('.invi-recaptcha').each(function (index, el) {\n                                grecaptcha.render(element[indexArray[index]], {\n                                    'sitekey': jQuery(el).attr('data-sitekey'),\n                                    'callback': sibVerifyCallback,\n                                });\n                            });\n                        };\n\t\t\t\t\t<\/script>\n\t\t\t\t\t                <script src=\"https:\/\/www.google.com\/recaptcha\/api.js?onload=onloadSibCallbackInvisible&render=explicit\" async defer><\/script>\n\t\t\t\t\n\t\t\t<form id=\"sib_signup_form_1\" method=\"post\" class=\"sib_signup_form\" action=\"\">\n\t\t\t\t<div class=\"sib_loader\" style=\"display:none;\"><img\n\t\t\t\t\t\t\tsrc=\"https:\/\/www.railscarma.com\/wp-includes\/images\/spinner.gif\" alt=\"chargeur\"><\/div>\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_action\" value=\"subscribe_form_submit\">\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_id\" value=\"1\">\n                <input type=\"hidden\" name=\"sib_form_alert_notice\" value=\"Please fill out this field\">\n                <input type=\"hidden\" name=\"sib_form_invalid_email_notice\" value=\"Your email address is invalid\">\n                <input type=\"hidden\" name=\"sib_security\" value=\"d7f7626ab9\">\n\t\t\t\t<div class=\"sib_signup_box_inside_1\">\n\t\t\t\t\t<div style=\"\/*display:none*\/\" class=\"sib_msg_disp\">\n\t\t\t\t\t<\/div>\n                                            <div id=\"sib_captcha_invisible\" class=\"invi-recaptcha\" data-sitekey=\"6LdikOAaAAAAAJ6SWrrKVQrtw7TQpQAEnv0HS0G3\"><\/div>\n                    \t\t\t\t\t<p class=\"sib-email-area\">\r\n    <label class=\"sib-email-area\"><\/label>\r\n    <input type=\"email\" class=\"sib-email-area\" name=\"email\" required=\"required\" placeholder=\"Adresse e-mail\">\r\n<\/p>\r\n<p class=\"sib-NAME-area\">\r\n    <label class=\"sib-NAME-area\"><\/label>\r\n    <input type=\"text\" class=\"sib-NAME-area\" name=\"NAME\" placeholder=\"Nom\">\r\n<\/p>\r\n<p>\r\n    <input type=\"submit\" id=\"invisible\" class=\"sib-default-btn\" value=\"S&#039;abonner\">\r\n<\/p>\t\t\t\t<\/div>\n\t\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"fr\"\/><\/form>\n\t\t\t<style>\n\t\t\t\tform#sib_signup_form_1 p.sib-alert-message {\n    padding: 6px 12px;\n    margin-bottom: 20px;\n    border: 1px solid transparent;\n    border-radius: 4px;\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n}\nform#sib_signup_form_1 p.sib-alert-message-error {\n    background-color: #f2dede;\n    border-color: #ebccd1;\n    color: #a94442;\n}\nform#sib_signup_form_1 p.sib-alert-message-success {\n    background-color: #dff0d8;\n    border-color: #d6e9c6;\n    color: #3c763d;\n}\nform#sib_signup_form_1 p.sib-alert-message-warning {\n    background-color: #fcf8e3;\n    border-color: #faebcc;\n    color: #8a6d3b;\n}\n\t\t\t<\/style>\n\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t  <div class=\"related-post slider\">\r\n        <div class=\"headline\">Articles Similaires<\/div>\r\n    <div class=\"post-list owl-carousel\">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Gemme de Kaminari\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/joyau-kaminari\/?related_post_from=37277\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"joyau kaminari\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Gemme de Kaminari\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/joyau-kaminari\/?related_post_from=37277\">\r\n        Gemme de Kaminari  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Pourquoi engager des d\u00e9veloppeurs Ruby on Rails en 2026 ?\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/pourquoi-embaucher-des-developpeurs-ruby-on-rails\/?related_post_from=30627\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"pourquoi embaucher des d\u00e9veloppeurs Ruby on Rails en 2022\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Pourquoi engager des d\u00e9veloppeurs Ruby on Rails en 2026 ?\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/pourquoi-embaucher-des-developpeurs-ruby-on-rails\/?related_post_from=30627\">\r\n        Pourquoi engager des d\u00e9veloppeurs Ruby on Rails en 2026 ?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Importance de l&#039;architecture logicielle dans le d\u00e9veloppement de logiciels d&#039;entreprise\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/importance-de-larchitecture-logicielle-dans-le-developpement-de-logiciels-dentreprise\/?related_post_from=36250\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"Importance de l&#039;architecture logicielle dans le d\u00e9veloppement de logiciels d&#039;entreprise\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Importance de l&#039;architecture logicielle dans le d\u00e9veloppement de logiciels d&#039;entreprise\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/importance-de-larchitecture-logicielle-dans-le-developpement-de-logiciels-dentreprise\/?related_post_from=36250\">\r\n        Importance de l&#039;architecture logicielle dans le d\u00e9veloppement de logiciels d&#039;entreprise  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Ruby IDE\u00a0: les meilleurs IDE pour le d\u00e9veloppement Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/ruby-ide-les-meilleures-idees-pour-le-developpement-de-ruby-on-rails\/?related_post_from=36125\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"MEILLEURES ID\u00c9ES POUR LE D\u00c9VELOPPEMENT DE RUBY ON RAILS\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Ruby IDE\u00a0: les meilleurs IDE pour le d\u00e9veloppement Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/ruby-ide-les-meilleures-idees-pour-le-developpement-de-ruby-on-rails\/?related_post_from=36125\">\r\n        Ruby IDE\u00a0: les meilleurs IDE pour le d\u00e9veloppement Ruby on Rails  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 10px;\r\n      padding: 10px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 14px !important;\r\n      color: #999999 !important;\r\n          }\r\n\r\n    .related-post .post-list .item .post_thumb {\r\n      max-height: 220px;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      font-size: 14px;\r\n      color: #000000;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 12px;\r\n      color: #3f3f3f;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .owl-dots .owl-dot {\r\n          }\r\n\r\n      <\/style>\r\n      <script>\r\n      jQuery(document).ready(function($) {\r\n        $(\".related-post .post-list\").owlCarousel({\r\n          items: 2,\r\n          responsiveClass: true,\r\n          responsive: {\r\n            0: {\r\n              items: 1,\r\n            },\r\n            768: {\r\n              items: 2,\r\n            },\r\n            1200: {\r\n              items: 2,\r\n            }\r\n          },\r\n                      rewind: true,\r\n                                loop: true,\r\n                                center: false,\r\n                                autoplay: true,\r\n            autoplayHoverPause: true,\r\n                                nav: true,\r\n            navSpeed: 1000,\r\n            navText: ['<i class=\"fas fa-chevron-left\"><\/i>', '<i class=\"fas fa-chevron-right\"><\/i>'],\r\n                                dots: false,\r\n            dotsSpeed: 1200,\r\n                                                    rtl: false,\r\n          \r\n        });\r\n      });\r\n    <\/script>\r\n  <\/div>","protected":false},"excerpt":{"rendered":"<p>Il y a plusieurs raisons pour lesquelles vous devriez envisager d'avoir plusieurs bases de donn\u00e9es dans votre application Ruby on Rails. Dans mon cas, je m'attendais \u00e0 devoir stocker de grandes quantit\u00e9s de donn\u00e9es. Consid\u00e9rons que la base de donn\u00e9es par d\u00e9faut est MySQL. Dans le fichier database.yml de notre application, nous \u00e9crivons les connexions pour MySQL de mani\u00e8re normale. Ensuite, pour connecter postgresql dans la m\u00eame application ...<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ruby-regex-match-guide-with-examples\/\"> <span class=\"screen-reader-text\">Guide de correspondance des expressions rationnelles en Ruby (2026) avec exemples<\/span> Lire la suite \u00bb<\/a><\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[384],"tags":[],"class_list":["post-8844","post","type-post","status-publish","format-standard","hentry","category-technical-articles"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Usage Of SQL And NoSQL Databases In Single Rails Application(MySQL, PostgreSQL And MongoDB) - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development<\/title>\n<meta name=\"description\" content=\"There are distinctive reasons why you should think about having various databases in your Ruby on Rails application. In my situation, I expected to store\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/utilisation-des-bases-de-donnees-sql-nosql-application-a-rails-uniques\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Usage Of SQL And NoSQL Databases In Single Rails Application(MySQL, PostgreSQL And MongoDB) - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"og:description\" content=\"There are distinctive reasons why you should think about having various databases in your Ruby on Rails application. In my situation, I expected to store\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/utilisation-des-bases-de-donnees-sql-nosql-application-a-rails-uniques\/\" \/>\n<meta property=\"og:site_name\" content=\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RailsCarma\/\" \/>\n<meta property=\"article:published_time\" content=\"2016-09-20T11:16:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-06T11:29:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/09\/Ruby-on-Rails-Development-Company.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@railscarma\" \/>\n<meta name=\"twitter:site\" content=\"@railscarma\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\"},\"headline\":\"Usage Of SQL And NoSQL Databases In Single Rails Application(MySQL, PostgreSQL And MongoDB)\",\"datePublished\":\"2016-09-20T11:16:25+00:00\",\"dateModified\":\"2021-06-06T11:29:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/\"},\"wordCount\":917,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"articleSection\":[\"Technical Articles\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/\",\"url\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/\",\"name\":\"Usage Of SQL And NoSQL Databases In Single Rails Application(MySQL, PostgreSQL And MongoDB) - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"datePublished\":\"2016-09-20T11:16:25+00:00\",\"dateModified\":\"2021-06-06T11:29:09+00:00\",\"description\":\"There are distinctive reasons why you should think about having various databases in your Ruby on Rails application. In my situation, I expected to store\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Usage Of SQL And NoSQL Databases In Single Rails Application(MySQL, PostgreSQL And MongoDB)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.railscarma.com\/#website\",\"url\":\"https:\/\/www.railscarma.com\/\",\"name\":\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"description\":\"RailsCarma is a Ruby on Rails Development Company in Bangalore. We specialize in Offshore Ruby on Rails Development based out in USA and India. Hire experienced Ruby on Rails developers for the ultimate Web Experience.\",\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.railscarma.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"width\":200,\"height\":46,\"caption\":\"RailsCarma\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RailsCarma\/\",\"https:\/\/x.com\/railscarma\",\"https:\/\/www.linkedin.com\/company\/railscarma\/\",\"https:\/\/myspace.com\/railscarma\",\"https:\/\/in.pinterest.com\/railscarma\/\",\"https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Utilisation de bases de donn\u00e9es SQL et NoSQL dans une application Single Rails (MySQL, PostgreSQL et MongoDB) - RailsCarma - Soci\u00e9t\u00e9 de d\u00e9veloppement Ruby on Rails sp\u00e9cialis\u00e9e dans le d\u00e9veloppement offshore","description":"Il existe des raisons distinctes pour lesquelles vous devriez envisager d&#039;avoir plusieurs bases de donn\u00e9es dans votre application Ruby on Rails. Dans ma situation, je m&#039;attendais \u00e0 stocker","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/utilisation-des-bases-de-donnees-sql-nosql-application-a-rails-uniques\/","og_locale":"fr_FR","og_type":"article","og_title":"Usage Of SQL And NoSQL Databases In Single Rails Application(MySQL, PostgreSQL And MongoDB) - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","og_description":"There are distinctive reasons why you should think about having various databases in your Ruby on Rails application. In my situation, I expected to store","og_url":"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/utilisation-des-bases-de-donnees-sql-nosql-application-a-rails-uniques\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2016-09-20T11:16:25+00:00","article_modified_time":"2021-06-06T11:29:09+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/09\/Ruby-on-Rails-Development-Company.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"\u00c9crit par":"admin","Dur\u00e9e de lecture estim\u00e9e":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/"},"author":{"name":"admin","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21"},"headline":"Usage Of SQL And NoSQL Databases In Single Rails Application(MySQL, PostgreSQL And MongoDB)","datePublished":"2016-09-20T11:16:25+00:00","dateModified":"2021-06-06T11:29:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/"},"wordCount":917,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"articleSection":["Technical Articles"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/","url":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/","name":"Utilisation de bases de donn\u00e9es SQL et NoSQL dans une application Single Rails (MySQL, PostgreSQL et MongoDB) - RailsCarma - Soci\u00e9t\u00e9 de d\u00e9veloppement Ruby on Rails sp\u00e9cialis\u00e9e dans le d\u00e9veloppement offshore","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"datePublished":"2016-09-20T11:16:25+00:00","dateModified":"2021-06-06T11:29:09+00:00","description":"Il existe des raisons distinctes pour lesquelles vous devriez envisager d&#039;avoir plusieurs bases de donn\u00e9es dans votre application Ruby on Rails. Dans ma situation, je m&#039;attendais \u00e0 stocker","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"Usage Of SQL And NoSQL Databases In Single Rails Application(MySQL, PostgreSQL And MongoDB)"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma - Soci\u00e9t\u00e9 de d\u00e9veloppement Ruby on Rails sp\u00e9cialis\u00e9e dans le d\u00e9veloppement offshore","description":"RailsCarma est une soci\u00e9t\u00e9 de d\u00e9veloppement Ruby on Rails \u00e0 Bangalore. Nous sommes sp\u00e9cialis\u00e9s dans le d\u00e9veloppement offshore Ruby on Rails, bas\u00e9s aux \u00c9tats-Unis et en Inde. Embauchez des d\u00e9veloppeurs Ruby on Rails exp\u00e9riment\u00e9s pour une exp\u00e9rience Web ultime.","publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.railscarma.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"RailsCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","width":200,"height":46,"caption":"RailsCarma"},"image":{"@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RailsCarma\/","https:\/\/x.com\/railscarma","https:\/\/www.linkedin.com\/company\/railscarma\/","https:\/\/myspace.com\/railscarma","https:\/\/in.pinterest.com\/railscarma\/","https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg"]},{"@type":"Person","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21","name":"administrateur","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/"]}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts\/8844","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/comments?post=8844"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts\/8844\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/media?parent=8844"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/categories?post=8844"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/tags?post=8844"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}