コード例 #1
0
 def initialize_db(self):
     if self.use_sqlite:
         engine = sqAl.create_engine('sqlite:///%s' % self.config.value(CONFIG_DB_PATH_NAME))
     else:
         engine = sqAl.create_engine('%s://%s:%s@%s:%s/%s' % (self.config.value(CONFIG_REMOTE_DB_SCHEME),
                                                              self.config.value(CONFIG_REMOTE_DB_USER),
                                                              self.config.value(CONFIG_REMOTE_DB_PASSWORD),
                                                              self.config.value(CONFIG_REMOTE_DB_HOST),
                                                              self.config.value(CONFIG_REMOTE_DB_PORT),
                                                              self.config.value(CONFIG_REMOTE_DB_NAME)), pool_timeout=10)
     self.session = sqAl_sessionmaker(bind=engine)()
コード例 #2
0
                fn = specs['format'] % (field['fieldname'], name)
                cf =  sqAl.Column(fn, specs['db_col_type'], default=field['default'])
                dynclass_dict[fn] = cf
                sub_fields.append(cf)
            dynclass_dict[field['fieldname']] = sqAl_composite(CompositeCol, *sub_fields)
        elif field['typ'] in ('int', 'dropdown', 'enumber'): 
            dynclass_dict[field['fieldname']] =  sqAl.Column(field['fieldname'], sqAl.Integer, default=-1)

    return type(name, (Base,), dynclass_dict)

Participant = generate_class('Participant')


if __name__ == '__main__':
    engine = sqAl.create_engine('sqlite:///%s' % wx.Config(CONFIG_MAIN_NAME).Read(CONFIG_DB_PATH_NAME), echo=True)
    Session = sqAl_sessionmaker(bind=engine)
    session = Session()

    # t = Participant(name='DynClass V.', 
    #              f29=CompositeCol(True,True,True,False,False,False,False,False,False,False,True,True,True,True),
    #              f32=CompositeCol(14,21,28,0,0,0,0,0))
    # print session.add(t)
    p = session.query(Participant).filter(Participant.id == 2).first()
    p.mtpv = 2
    # p.name = 'Etre Petetre'
    # setattr(p,'f2', 28)
    # results = session.query(Participant).all()
    # for rec in results:
    #     [setattr(rec, f['fieldname'], 0) for f in STRUCTURE.db_items if f['typ'] == 'dropdown' and getattr(rec, f['fieldname']) == -1]
    session.commit()
    # print dir(p)