Hey,

I have a declarative table called 'Foo':

_Base = declarative_base()

class Foo(_Base):
    __tablename__ = 'foo'
    __table_args__ = {'mysql_engine': 'InnoDB',
                              'mysql_charset': 'latin1'}
    id = Column(String(64), primary_key=True, autoincrement=False)
    stuff = Column(Integer(11), primary_key=True, nullable=False)

Now I create Foo1 that has exactly the same definition but differs
just by the name:

class Foo1(_Base):
    __tablename__ = 'foo1'
    __table_args__ = {'mysql_engine': 'InnoDB',
                              'mysql_charset': 'latin1'}
    id = Column(String(64), primary_key=True, autoincrement=False)
    stuff = Column(Integer(11), primary_key=True, nullable=False)


And I need more of those (FooN with N = 10). The use case is to shard
data across several tables.

To avoid cut/n/pastes, I tried inheritance,  meta-class, a type
factory and the like, but everything fails. Whether because I was
reusing the same column class objects or whether because I was
conflicting with SQLALchemy meta-class magic.

Is there any sane way to do this and avoid a crazy copy/paste ?

Cheers
Tarek

-- 
Tarek Ziadé | http://ziade.org

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalch...@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to