-
Notifications
You must be signed in to change notification settings - Fork 0
/
main_sqlalchemy.py
61 lines (46 loc) · 1.63 KB
/
main_sqlalchemy.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import datetime
import json
import logging
import os
import coloredlogs
import randomname
from dotenv import load_dotenv
from sqlalchemy import create_engine, insert
from sqlalchemy.orm import Session
from sqlalchemy_models import ResumenAmigos, metadata
# create logger
logger = logging.getLogger(__name__)
coloredlogs.install(level='DEBUG')
# take environment variables from .env.
load_dotenv()
# Press the green button in the gutter to run the script.
if __name__ == '__main__':
# conexión con la base de datos
engine = create_engine(os.getenv('SQLALCHEMY_DATABASE'))
# Crear todas las tablas que no existan en la base de datos, llamando metadata de models.
metadata.create_all(engine)
# iniciamos una sesión
session = Session(engine)
# obtener último ID de los cazadores
lastId = session.query(ResumenAmigos).order_by(ResumenAmigos.id.desc()).first()
if lastId is None:
lastId = 1
else:
lastId = lastId.id
logger.info("LastID=" + str(lastId))
print()
logger.info("Creamos registros...")
for x in range(10):
lastId = lastId + 1
dict_resumen_amigo = {'name': randomname.get_name(), 'datetime': str(datetime.datetime.now())}
json_resumen_amigo = json.dumps(dict_resumen_amigo, indent=4)
stmt = insert(ResumenAmigos).values(id=lastId, json=json_resumen_amigo)
result = session.execute(stmt)
session.commit()
print()
logger.info("Mostramos todos los registros...")
query = session.query(ResumenAmigos)
for amigo in query:
logger.info(amigo.json)
# cerramos la sesión con la base de datos
session.close()