Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Dynamicznie ustawiasz __tablename__ do shardingu w SQLAlchemy?

OK, wybraliśmy niestandardową deklarację SQLAlchemy, a nie deklaratywną.

Dlatego tworzymy dynamiczny obiekt tabeli w następujący sposób:

from sqlalchemy import MetaData, Table, Column

def get_table_object(self, md5hash):
    metadata = MetaData()
    table_name = 'table_' + md5hash
    table_object = Table(table_name, metadata,
        Column('Column1', DATE, nullable=False),
        Column('Column2', DATE, nullable=False)
    )
    clear_mappers()
    mapper(ActualTableObject, table_object)
    return ActualTableObject

Gdzie ActualTableObject to odwzorowanie klasy na tabelę.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jak połączyć się z bazą danych na innym serwerze

  2. Jak mogę wybrać wiersze w MySQL zaczynając od podanego numeru wiersza?

  3. Zamówienie i limit LEFT JOIN

  4. Zagregowane tabele danych

  5. Obcinanie ciągów na długość, ale nie wolno ciąć słów