2010-12-06 4 views
4

Si je souhaite utiliser plusieurs bases de données dans des rails, comment puis-je gérer une migration séparée pour chaque base de données?Dans Rails Migration, comment gérer les multidatabases

Dans ce cas, j'ai une base de données de compte et une autre base de données pour les données.

Avoir quelque chose comme:

migrate/comptes/. migrate/mydatabase/.

Je peux donc exécuter des migrations indépendantes.

Répondre

3

Dans votre database.yml créer les différentes connexions à la base de données comme:

development1: 
    adapter: mysql 
    username: root 
    password: 
    database: example_development1 

development2: 
    adapter: mysql 
    username: root 
    password: 
    database: example_development2 

ensuite à chaque modèle que vous choisissez de chaque base de données il est stocké à l'aide:

class Account < ActiveRecord::Base 
establish_connection :development2 
end 

EDIT Si vous vouloir l'appliquer à une migration que vous pouvez faire:

class Migration1 < ActiveRecord::Migration 
    def self.connection 
    Account.connection #being Account a model that has a connection to the database you want 
    end 
..... 
end 
+0

Ceci est une excellente réponse, cela aussi appliquer à la migration? –

+0

Modifié la réponse précédente pour répondre à votre question ... – nunopolonia

Questions connexes