Bienvenido a la documentación de PanCakesORM. Veras que el uso de esta librería es fácil e intuitiva. PanCakesORM fue pensado para conservar la sintaxis SQL.
Con tu entorno virtual activado únicamente debes correr desde tu terminal el comando:
pip install pancakes-orm
PanCakesORM depende de 3 módulos principales:
pancakes/cook/mold/PanCakesORM. Declara tablas en la base de datos, permite migración de esquemas, métodos CRUD.pancakes/datatype/sql_datatype. Permite declarar los tipos de datos para las tablas en la base de datos (PanCakesORM) únicamente reconoce estos tipos de datos para declarar columnas.pancakes/cook/layer pancakes/cook/furnace pancakes/cook/ingredient pancakes/cook/clean .PanCakesORM no requiere que indiques una base de datos. Por defecto creara una carpeta en tu proyecto con el nombre data/my_app_database.sqlite.
.
└── tu_proyecto/
├── .venv
├── app.py
└── data/
└── my_app_database.sqlite # Ruta Por defecto.
PanCakesORM códigofrom pancakes.cook.mold import PanCakesORM
from pancakes.datatype import sql_datatype
# Declarar una tabla:
class User(PanCakesORM):
# '_table' asigna el nombre de la tabla en la base de datos
# sin el atributo table obtendras un Exception.
_table = 'user'
# Declarar columnas en la tabla:
name = sql_datatype.Char(comment='Name', nls=False)
age = sql_datatype.Int(comment='Age', nls=False)
weight = sql_datatype.Float(comment='Weight', nls=False)
sign_up_date = sql_datatype.Text(comment='Sign Up Date', nls=False)
# Tambien existen los datos ForeignKey() y Bool().
# El argumento comment permite guardar en la columna alguna
# Etiqueta de descrripcion que podras usar en tu frontend
# 'nls' = 'NOT NULL'. Para activarlo, declararlo en True.
Si quieres modificar tus rutas, puedes proveer rutas Path de directorio y de fichero sqlite a través de los atributos _db*_*dir y _db_file. Tomando el ejemplo anterior pero con diferentes rutas:
from pancakes.cook.mold import PanCakesORM
from pancakes.datatype import sql_datatype
from pathlib import Path
MY_DIR = Path('/home/user/projects/personal')
MY_FILE = MY_DIR / 'personal_database.sqlite'
# Si quieres a puntar a tu directorio actual de proyecto, puedes:
# MY_DIR = Path.cwd()
# Declarar una tabla:
class User(PanCakesORM):
_table = 'user'
# Declara rutas:
# PanCakesORM creara ambos si no existen.
_db_dir = MY_DIR
_db_file = MY_FILE
# Declarar columnas en la tabla:
name = sql_datatype.Char(comment='Name', nls=False))
age = sql_datatype.Int(comment='Age', nls=False))
weight = sql_datatype.Float(comment='Weight', nls=False))
sign_up_date = sql_datatype.Text(comment='Sign Up Date', nls=False)
PanCakesORM código