]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
removed the "__main__" code from below
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 10 Mar 2008 17:15:51 +0000 (17:15 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 10 Mar 2008 17:15:51 +0000 (17:15 +0000)
lib/sqlalchemy/ext/declarative.py

index ac315e75508b5d99d4ebaa118ad550dbd96f45d5..77bffad7ac194f036c0a65dca5c6adeac6ba44fe 100644 (file)
@@ -237,85 +237,3 @@ def declarative_base(engine=None, metadata=None):
                 setattr(self, k, kwargs[k])
     return Base
 
-if __name__ == '__main__':
-    # sample usage:
-    
-    from sqlalchemy import *
-    from sqlalchemy.orm import *
-
-    # Base is created per-app (or per desired scope) 
-    # and houses a MetaData, and optionally an engine
-    Base = declarative_base(create_engine('sqlite://', echo=False))
-    
-    class User(Base):
-        __tablename__ = 'users'
-    
-        id = Column('id', Integer, primary_key=True)
-        name = Column('name', String(50))
-        addresses = relation("Address", backref="user")
-        type = Column('type', String(50))
-        
-        __mapper_args__ = dict(polymorphic_on=type, polymorphic_identity='user')
-
-    class AdminUser(User):
-        __tablename__ = 'admin_users'
-        __mapper_args__ = dict(polymorphic_identity='adminuser')
-
-        id = Column('id', Integer, ForeignKey('users.id'), primary_key=True)
-        supername = Column('supername', String(50))
-        
-    class Address(Base):
-        __tablename__ = 'addresses'
-
-        id = Column('id', Integer, primary_key=True)
-        user_id = Column('user_id', Integer, ForeignKey('users.id'))
-        _email = Column('email', String(50))
-        
-        # illustrate a synonym
-        def _set_email(self, email):
-            self._email = email
-        def _get_email(self):
-            return self._email
-        email = declared_synonym(property(_get_email, _set_email), '_email')
-        
-    class Keyword(Base):
-        __tablename__ = 'keywords'
-        
-        id = Column('id', Integer, primary_key=True)
-        name = Column('name', String(50))
-    
-    # m2m tables are just created as Table objects
-    user_keywords = Table('user_keywords', Base.metadata, 
-        Column('user_id', Integer, ForeignKey('users.id')), 
-        Column('keyword_id', Integer, ForeignKey('keywords.id'))
-    )
-    
-    # test adding relations after the fact
-    User.keywords = relation(Keyword, secondary=user_keywords, backref='users')
-        
-    Base.metadata.create_all()
-
-    sess = create_session()
-
-    u1 = User(name='ed', 
-        addresses = [Address(email='eds email')],
-        keywords = [Keyword(name='one'), Keyword(name='two')]
-        )
-
-    sess.save(u1)
-
-    a1 = AdminUser(name='some admin', supername='root', addresses=[
-        Address(email='admin email')
-    ], keywords=[])
-    sess.save(a1)
-
-    sess.flush()
-    
-    sess.clear()
-    
-    print sess.query(User).filter(User.name=='ed').all()
-    print sess.query(User).filter(User.addresses.any(Address.email.like('%ed%'))).all()
-    
-    for user in sess.query(User).with_polymorphic('*').all():
-        print user, user.addresses, user.keywords
-    
\ No newline at end of file