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

Lakukan peningkatan alembic dalam beberapa skema

Apa yang akhirnya kami lakukan adalah menggunakan mekanisme acara sqlalchemy untuk menangkap kueri sebelum dieksekusi dan menambahkan awalan untuk mengubah skema:

def before_cursor_execute(conn, cursor, statement, parameters, context, executemany):
    schema_name = <Logic to resolve schema name>
    statement = "SET search_path TO '%s'; %s" % (schema_name, statement)
    return statement, parameters
    ......
    (later in the code)
    listen(Engine, 'before_cursor_execute', before_cursor_execute, retval=True)

Dengan cara ini, kita dapat menjalankan migrasi alembic beberapa kali, memastikan setiap kali schema_name diselesaikan dengan benar, dan semuanya berjalan lancar




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara memasukkan hasil nol / 0 dalam COUNT agregat?

  2. Bagaimana terhubung dengan Host PostgreSQL dari mesin virtualbox gelandangan

  3. Hibernasi penggunaan dengan banyak utas

  4. Mengapa kondisi CROSS JOIN tidak berfungsi di klausa 'ON', hanya klausa WHERE?

  5. Mengubah Django dari SQLite ke PostgreSQL