-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSQLAlchemy.txt
More file actions
77 lines (44 loc) · 1.75 KB
/
SQLAlchemy.txt
File metadata and controls
77 lines (44 loc) · 1.75 KB
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Comandos básicos y necesarios para Flask y SQLAlchemy
Comandos Básicos de SQLAlchemy
Instala SQLAlchemy como extensión de Flask:
- pip install flask-sqlalchemy
Entrar al entorno de Python en la carpeta del programa (desde la terminal):
- python
- from nombre_archivo import db
Configura la base de datos SQLite:
- app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///ruta.db"
Inicializa la instancia de SQLAlchemy en la aplicación Flask:
- db = SQLAlchemy(app):
Crea todas las tablas definidas en los modelos:
- db.create_all():
Añade un nuevo registro a la base de datos:
- db.session.add(objeto)
Guarda los cambios realizados en la base de datos:
- db.session.commit()
Realiza una consulta para obtener todos los registros de una tabla:
- db.session.query(Modelo).all()
Elimina un registro de la base de datos:
- db.session.delete(objeto)
Migraciones con Flask-Migrate
Instala Flask-Migrate para manejar migraciones:
- pip install flask-migrate:
Inicializa el repositorio de migraciones:
- flask db init
Crea una nueva migración:
- flask db migrate -m "mensaje"
Aplica la migración a la base de datos:
- flask db upgrade
Revierte la última migración aplicada:
- flask db downgrade
Comandos de Pruebas en Flask
Instala pytest para realizar pruebas unitarias:
- pip install pytest
Ejecuta pruebas y muestra la cobertura de código:
- pytest --cov = nombre_del_paquete
Optimización y Mejores Prácticas
Filtra resultados según condiciones específicas:
- db.session.query(Modelo).filter_by(campo = valor)
Ordena los resultados de la consulta en orden descendente:
- db.session.query(Modelo).order_by(Modelo.campo.desc())
Agrupa los resultados según un campo específico:
- db.session.query(Modelo).group_by(Modelo.campo)