2010-12-06 8 views
4

Wenn ich mit mehr als einer Datenbank in Schienen arbeiten möchte, wie kann ich separate Migration für jede Datenbank behandeln?In Rails Migration, wie kann ich mit Multidatabases umgehen?

In diesem Fall habe ich eine Konto-Datenbank und andere Datenbank für die Daten.

Mit so etwas wie:

migrate/Konten/. migrieren/mydatabase/.

So kann ich unabhängige Migrationen laufen.

Antwort

3

In Ihrem database.yml erstellen, um die verschiedenen Verbindungen zur Datenbank wie:

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

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

dann zu jedem Modell, das Sie jede Datenbank wählen sie unter Verwendung gespeichert ist:

class Account < ActiveRecord::Base 
establish_connection :development2 
end 

EDIT Wenn Sie Möchten Sie es auf eine Migration anwenden, die Sie tun können:

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

Dies ist eine gute Antwort, dies auch für die Migration gelten? –

+0

Bearbeitete die vorherige Antwort, um auf Ihre Frage zu antworten ... – nunopolonia

Verwandte Themen