PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Migracje Rails dla schematów postgreSQL

Mam bibliotekę schema_utils, której używam, i ma następującą metodę obsługi migracji:

  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

Następnie używam migracji jak zwykle, więc mogę nadal dzwonić do rake:migrateNow, w swoich migracjach możesz użyć:

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

Ponieważ zwykle mapuję schematy na kody kont, robię następujące czynności:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PRZESUNIĘCIE vs. ROW_NUMBER()

  2. Uniemożliwić rdzennie rzeczownikom własnym w PostgreSQL?

  3. Railsy + PostgreSQL — korzystanie z Like

  4. ustawianie hstore w rails4, dynamiczne klucze/wartości

  5. PostgreSQL:Równoległość zapytań w działaniu