PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Rails миграции за схеми на postgreSQL

Имам библиотека schema_utils, която използвам и има следния метод за обработка на миграции:

  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

След това използвам миграциите както обикновено, за да мога да продължа да извиквам rake:migrateСега във вашите миграции можете да използвате:

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

Тъй като съм склонен да съпоставям схеми с кодове на акаунти, правя следното:

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. PostgreSQL проверява дали полето за клеймо за време е празно

  2. Защо най-естествената заявка (т.е. използването на INNER JOIN (вместо LEFT JOIN)) е много бавна

  3. Как да създадете общ период на текущия период

  4. QPSQL драйверът не е зареден Qt

  5. Postgresql Изберете редове, където колона =масив