sql >> Database >  >> RDS >> Mysql

Dynamisch instellen van __tablename__ voor sharding in SQLAlchemy?

OK, we gingen met de aangepaste SQLAlchemy-declaratie in plaats van de declaratieve.

We maken dus een dynamisch tabelobject als volgt:

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

Waar ActualTableObject de klassetoewijzing aan de tabel is.



  1. Hoe Trunc() werkt in PostgreSQL

  2. Een Oracle-database migreren naar MySQL op AWS, deel 2

  3. Negeer bepaalde WHERE-criteria

  4. Alleen-lezen-machtiging wijzigen om de nieuwe waarde van de MySQL-serversysteemvariabele in te stellen