Пример #1
0
def save_market_to_db(msg_data: dict):
    """
    - Получить запись текущего юзера (запрос в базу по имени и взять одну запись,
        если исключение что нет записи, то создать юзера нового)
    - Получить все записи маркетов текущего юзера
    -
    :return:
    """
    print('----now------')
    print(msg_data)
    session = Session()
    user = get_or_create(session, User, user_name=msg_data['user']['user_name'])
    user.free_slots = int(msg_data['market']['free_slots'])
    user.telegram_id = int(msg_data['user']['telegram_id'])
    user.name = str(msg_data['user']['name'])

    all_markets_user = session.query(Market).filter_by(user=user).all()
    # удалить все магазины текущего юзера из базы
    for market in all_markets_user:
        session.delete(market)
    session.commit()
    res_dict = msg_data['market']['resources']
    current_resources = [get_or_create(session, Resource, name=resource) for resource in res_dict.keys()]
    current_markers = [Market(user=user,
                              resource=res,
                              count=res_dict[res.name],
                              last_update=msg_data['user']['last_update']) for res in current_resources]
    session.add_all(current_markers)
    session.commit()
Пример #2
0
def add_test_data():
    Base.metadata.create_all(bind=engine)
    session = Session()

    res_pelt = Resource(name='Pelt')
    res_coal = Resource(name='Coal')
    res_stick = Resource(name='Stick')

    user_artem = User(name='Artem', user_name='artofey')
    user_maga = User(name='Maga', user_name='godzilla4')

    market_artem_pelt = Market(resource=res_pelt, user=user_artem, count=1000)
    market_artem_coal = Market(resource=res_coal, user=user_artem, count=2000)
    market_maga_stick = Market(resource=res_stick, user=user_maga, count=3000)

    session.add_all(
        [
            market_artem_coal,
            market_artem_pelt,
            market_maga_stick,
        ]
    )
    session.commit()
Пример #3
0
from app.models import User, Post, Comment, Vote
from app.db import Session, Base, engine

# Drop and rebuild tables.
Base.metadata.drop_all(engine)
Base.metadata.create_all(engine)

# Populate initial values.
db = Session()

# Insert users.
db.add_all([
  User(username='******', email='*****@*****.**', password='******'),
  User(username='******', email='*****@*****.**', password='******'),
  User(username='******', email='*****@*****.**', password='******'),
  User(username='******', email='*****@*****.**', password='******'),
  User(username='******', email='*****@*****.**', password='******')
])

db.commit()

# Insert posts.
db.add_all([
  Post(title='Donec posuere metus vitae ipsum', post_url='https://buzzfeed.com/in/imperdiet/et/commodo/vulputate.png', user_id=1),
  Post(title='Morbi non quam nec dui luctus rutrum', post_url='https://nasa.gov/donec.json', user_id=1),
  Post(title='Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue', post_url='https://europa.eu/parturient/montes/nascetur/ridiculus/mus/etiam/vel.aspx', user_id=2),
  Post(title='Nunc purus', post_url='http://desdev.cn/enim/blandit/mi.jpg', user_id=3),
  Post(title='Pellentesque eget nunc', post_url='http://google.ca/nam/nulla/integer.aspx', user_id=4)
])

db.commit()
Пример #4
0
def fill_db(number):
    sess = Session()
    sess.add_all(get_random_users(number))
    sess.commit()