sql >> Database teknologi >  >> RDS >> PostgreSQL

Rails-migreringer til postgreSQL-skemaer

Jeg har et schema_utils-bibliotek, som jeg bruger og har følgende metode til at håndtere migreringer:

  def self.with_schema(schema_name, &block)
    conn = ActiveRecord::Base.connection
    old_schema_search_path = conn.schema_search_path
    conn.schema_search_path = schema_name
    begin
      yield
    ensure
      conn.schema_search_path = old_schema_search_path
    end
  end
 

Jeg bruger så migrationer som normalt, så jeg kan fortsætte med at kalde rake:migrateNow, i dine migreringer kan du bruge:

... schemas.each do |schema| SchemaUtils.with_schema(schema) do #Put migration code here #e.g. add_column :xyz, ... end end

Fordi jeg plejer at kortlægge skemaer til kontokoder, gør jeg følgende:

Account.for_each do |account|
  SchemaUtils.with_schema(account.code) do
    #Put migration code here
  end
end
 


  1. ROUND() Eksempler i SQL Server

  2. Hvordan laver rapporter med specifikke datoer i mysql

  3. Lagret procedure for at få oplysninger om databasetabeller

  4. Django. PostgreSQL. regexp_split_to_table virker ikke