PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Migrasi rel untuk skema postgreSQL

Saya memiliki pustaka schema_utils yang saya gunakan dan memiliki metode berikut untuk menangani migrasi:

  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

Saya kemudian menggunakan migrasi seperti biasa sehingga saya dapat terus memanggil rake:migrateNow, dalam migrasi Anda, Anda dapat menggunakan:

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

Karena saya cenderung memetakan skema ke kode akun, saya melakukan hal berikut:

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. Kunci asing + pewarisan tabel di PostgreSQL?

  2. Bagaimana cara membuat pekerjaan cron untuk menjalankan fungsi SQL postgres?

  3. Cara mendapatkan daftar data hari bulan per bulan di postgresql

  4. ON DELETE SET NULL di postgres

  5. psycopg2:Perbarui beberapa baris dalam tabel dengan nilai dari tupel tupel