def main(): today = datetime.date.today() users = [ { "name": '田中太郎', "enable": True, "dotodays": [[datetime.date(2020, 1, 1), False], [today, True]] }, { "name": '鈴木次郎', "enable": True, "dotodays": [[datetime.date(2020, 1, 1), False]] }, ] for user in users: user_a = User(name=user['name'], enable=user['enable']) session.add(user_a) session.flush() for dotoday in user["dotodays"]: dotoday_a = DoToday(date=dotoday[0], id=user_a.id, dotoday=dotoday[1]) session.add(dotoday_a) session.commit() users = session.query(User, DoToday).outerjoin(DoToday, User.id == DoToday.id).all() pp(users)
def make_photon(pid, p, coincidence): global previous_photon if previous_photon != pid: if p is not None: session.add(p) p = Photon(hits=[], index=pid) coincidence.photons.append(p) previous_photon = pid return p
def make_coincidence(cid, c, row): global previous_coincidence if previous_coincidence != cid: if c is not None: session.add(c) # session.commit() c = Coincidence(photons=[], is_scatter=(row['true_scatter'] == 0)) previous_coincidence = cid return c
def make_hit(row, photon): hit = Hit(index=row['hitIndex'], x=row['x'], y=row['y'], z=row['z'], energy=row['energy'], time=row['timeT']) photon.hits.append(hit) session.add(hit) return hit
async def putMembers(id, item: PutMembersItem): success = True message = "" pp(item) today = datetime.date.today() user = session.query(User.id).filter(User.id == id).first() if user == None: success = False message = "ユーザーが見つかりません" else: dotoday = session.query(DoToday).filter( DoToday.id == id, DoToday.date == today).with_for_update().first() if dotoday == None: dotoday = DoToday(id=id, date=today) session.add(dotoday) dotoday.dotoday = item.dotoday session.commit() users = session.query(User, DoToday).outerjoin(DoToday, User.id == DoToday.id).all() pp(users) return {"success": success, "message": message}
from db.users import Users # Create the database if it doesn't exist if not database_exists(engine.url): create_database(engine.url) # Create the user table Base.metadata.create_all(engine) # Create the user with id 1 DEMO = { 'id': 1, 'username': '******', 'password': '******', 'first_name': 'Kevin', 'last_name': 'Rivers' } # Hash user password with bcrypt(12) DEMO['password'] = bcrypt.hashpw(DEMO['password'].encode(), bcrypt.gensalt()).decode() u = Users(**DEMO) session.add(u) try: session.commit() except IntegrityError: # We have already added the demo user with id 1 pass