示例#1
0
    tag1 = Tag(name="tag1")
    tag2 = Tag(name="tag2")
    session.add_all([tag1, tag2])
    session.commit()

    comm1 = Commerce(name="comm1", subsidiary=sub1)
    comm2 = Commerce(name="comm2", subsidiary=sub1)
    comm3 = Commerce(name="comm3", subsidiary=sub2)
    comm1.tags = [tag1, tag2]
    comm2.tags = [tag2]
    comm3.tags = [tag2]
    session.add_all([comm1, comm2, comm3])
    session.commit()

    print get_sql_table_data(session, Subsidiary)
    print get_sql_table_data(session, Commerce)
    print get_sql_table_data(session, Tag)

    subsidiaries = session.query(Subsidiary)\
                    .options(joinedload(Subsidiary.commerce)\
                             .joinedload(Commerce.tags)).all()
    print 'All Subs: ', subsidiaries

    subsidiaries = session.query(Subsidiary)\
                    .options(joinedload(Subsidiary.commerce)\
                             .joinedload(Commerce.tags))\
                    .filter(Tag.id == tag1.id)
    print 'Filtered Subs: ', subsidiaries
    # SELECT subsidiary.id AS subsidiary_id, subsidiary.name AS subsidiary_name,
    #        tag_1.id AS tag_1_id, tag_1.name AS tag_1_name,
if __name__ == "__main__":
    engine = create_engine("sqlite://")
    ModelBase.metadata.create_all(engine)
    Session = sessionmaker(bind=engine)
    session = Session()

    user = User(name="user")
    session.add(user)
    session.commit()

    task1 = Task(title="task1", description="?", user_id=user.id)
    session.add(task1)
    session.commit()

    delete_task(session, task1.id)
    print get_sql_table_data(session, Task)

    task2 = Task(title="task1", description="?", user_id=user.id)
    session.add(task2)

    post1 = Post(body="post1", user_id=user.id)
    session.add(post1)
    post2 = Post(body="post2", user_id=user.id)
    session.add(post2)
    task2.posts = [post1, post2]
    session.commit()
    print post1.tasks, task2.posts
    print 'Task:', get_sql_table_data(session, Task)
    print 'Post:', get_sql_table_data(session, Post)
    # print get_sql_table_data(session, tasks_posts)
示例#3
0
        'polymorphic_identity': False
    }


class OrganizationUser(BaseUser):
    # Organization Fields
    __mapper_args__ = {
        'polymorphic_identity': True
    }


if __name__ == "__main__":
    engine = create_engine("sqlite://")
    ModelBase.metadata.create_all(engine)
    Session = sessionmaker(bind=engine)
    sql = Session()

    #sql = sqldb.get_session()
    customer1 = CustomerUser()
    sql.add(customer1)
    customer2 = CustomerUser()
    sql.add(customer2)
    organization = OrganizationUser()
    organization.customers = [customer1, customer2]
    sql.add(organization)
    sql.commit()
    print get_sql_table_data(sql, BaseUser)
    print organization.customers
    print customer1.organization
    print customer2.organization
示例#4
0
    id = db.Column(db.Integer, primary_key=True)
    connection_type = db.Column(db.SmallInteger,
                                nullable=False,
                                default=CONNECTION_TYPES['cellular'])

    @declared_attr
    def __table_args__(cls):
        return (db.CheckConstraint(
            cls.connection_type.in_(cls.CONNECTION_TYPES.values())),
                ) + FilteringMixin.__table_args__


if __name__ == "__main__":
    engine = create_engine("sqlite://")
    ModelBase.metadata.create_all(engine)
    Session = sessionmaker(bind=engine)
    session = Session()

    # saves the record with defaults
    conn_type = FilteredConnectionType()
    session.add(conn_type)
    session.commit()
    print get_sql_table_data(session, FilteredConnectionType)

    # raises an error: Check constraint failed
    conn_type = FilteredConnectionType(filter_type=3)
    session.add(conn_type)
    session.commit()

    print get_sql_table_data(session, FilteredConnectionType)

if __name__ == "__main__":
    engine = create_engine("sqlite://")
    ModelBase.metadata.create_all(engine)
    Session = sessionmaker(bind=engine)
    db_session = Session()

    foo1 = FooTest()
    db_session.add(foo1)
    db_session.commit()

    foo2 = FooTest(parent_id=foo1.id)
    foo3 = FooTest(parent_id=foo1.id)
    db_session.add(foo2)
    db_session.add(foo3)
    db_session.commit()

    bar = BarTest()
    db_session.add(bar)
    db_session.commit()

    print get_sql_table_data(db_session, TestParent)
    #print get_sql_table_data(db_session, BarTest)

    mytest = db_session.query(TestParent).get(bar.id) # is an instance of BarTest
    db_session.delete(mytest)
    db_session.commit()

    #print get_sql_table_data(db_session, BarTest)
示例#6
0
    # Changed to db.Integer from db.BigInteger because of SQLite
    id = db.Column(db.Integer, primary_key=True)
    connection_type = db.Column(db.SmallInteger, nullable=False,
                                default=CONNECTION_TYPES['cellular'])

    @declared_attr
    def __table_args__(cls):
        return (
            db.CheckConstraint(cls.connection_type.in_(cls.CONNECTION_TYPES.values())),
        ) + FilteringMixin.__table_args__


if __name__ == "__main__":
    engine = create_engine("sqlite://")
    ModelBase.metadata.create_all(engine)
    Session = sessionmaker(bind=engine)
    session = Session()

    # saves the record with defaults
    conn_type = FilteredConnectionType()
    session.add(conn_type)
    session.commit()
    print get_sql_table_data(session, FilteredConnectionType)

    # raises an error: Check constraint failed
    conn_type = FilteredConnectionType(filter_type=3)
    session.add(conn_type)
    session.commit()

    print get_sql_table_data(session, FilteredConnectionType)
示例#7
0
    tag1 = Tag(name="tag1")
    tag2 = Tag(name="tag2")
    session.add_all([tag1, tag2])
    session.commit()

    comm1 = Commerce(name="comm1", subsidiary=sub1)
    comm2 = Commerce(name="comm2", subsidiary=sub1)
    comm3 = Commerce(name="comm3", subsidiary=sub2)
    comm1.tags = [tag1, tag2]
    comm2.tags = [tag2]
    comm3.tags = [tag2]
    session.add_all([comm1, comm2, comm3])
    session.commit()

    print get_sql_table_data(session, Subsidiary)
    print get_sql_table_data(session, Commerce)
    print get_sql_table_data(session, Tag)

    subsidiaries = session.query(Subsidiary)\
                    .options(joinedload(Subsidiary.commerce)\
                             .joinedload(Commerce.tags)).all()
    print 'All Subs: ', subsidiaries

    subsidiaries = session.query(Subsidiary)\
                    .options(joinedload(Subsidiary.commerce)\
                             .joinedload(Commerce.tags))\
                    .filter(Tag.id == tag1.id)
    print 'Filtered Subs: ', subsidiaries
    # SELECT subsidiary.id AS subsidiary_id, subsidiary.name AS subsidiary_name,
    #        tag_1.id AS tag_1_id, tag_1.name AS tag_1_name,
if __name__ == "__main__":
    engine = create_engine("sqlite://")
    ModelBase.metadata.create_all(engine)
    Session = sessionmaker(bind=engine)
    db_session = Session()

    foo1 = FooTest()
    db_session.add(foo1)
    db_session.commit()

    foo2 = FooTest(parent_id=foo1.id)
    foo3 = FooTest(parent_id=foo1.id)
    db_session.add(foo2)
    db_session.add(foo3)
    db_session.commit()

    bar = BarTest()
    db_session.add(bar)
    db_session.commit()

    print get_sql_table_data(db_session, TestParent)
    #print get_sql_table_data(db_session, BarTest)

    mytest = db_session.query(TestParent).get(
        bar.id)  # is an instance of BarTest
    db_session.delete(mytest)
    db_session.commit()

    #print get_sql_table_data(db_session, BarTest)
if __name__ == "__main__":
    engine = create_engine("sqlite://")
    ModelBase.metadata.create_all(engine)
    Session = sessionmaker(bind=engine)
    session = Session()

    user = User(name="user")
    session.add(user)
    session.commit()

    task1 = Task(title="task1", description="?", user_id=user.id)
    session.add(task1)
    session.commit()

    delete_task(session, task1.id)
    print get_sql_table_data(session, Task)

    task2 = Task(title="task1", description="?", user_id=user.id)
    session.add(task2)

    post1 = Post(body="post1", user_id=user.id)
    session.add(post1)
    post2 = Post(body="post2", user_id=user.id)
    session.add(post2)
    task2.posts = [post1, post2]
    session.commit()
    print post1.tasks, task2.posts
    print "Task:", get_sql_table_data(session, Task)
    print "Post:", get_sql_table_data(session, Post)
    # print get_sql_table_data(session, tasks_posts)