Estructura de un Inventario usando SQLAlchemy

2006-10-10 | En: Computadoras | La entrada anterior es Pleonasmos en el Peri�dico S�ntesis de Tlaxcala | La entrada siguiente es Fantasmas

Ads by AdGenta.comEsta es la estructura de una base de datos para controlar inventario por partida doble. Esta hecha, las tablas están definidas con SQLAlchemy, por lo que podemos seleccionar el motor de base de datos que mejor nos acomode y asegurares verdadera portabilidad a nuestra apliación.

De esta manera aseguramos que con solo cambiar una línea nuestra aplicación funcionará.

Este archivo se debe tener a la mano, y si al usar la base de datos un error nos indica que las tablas no existen, entonces usamos este archivo para generarlas.

En mi caso, de manera local uso PostgreSQL y en este servidor se usa MySQL, asi que solo modifique una sola línea. El código a continuación.

 
#!/usr/bin/env python
#-*- coding: utf-8 -*-

import sqlalchemy as sql

pg_db = sql.create_engine('postgres://usuario:clave@servidor:puerto/base')
# my_db = sql.create_engine('mysql://usuario:clave@servidor:puerto/base')
metadata  = sql.BoundMetaData(pg_db)

# Definicion de Tablas
tblBien      = sql.Table ('tblBien', metadata,
               sql.Column('idBien', sql.Integer, primary_key = True),
               sql.Column('txtBien', sql.String(25)),
               sql.Column('txtMarca', sql.String(25)),
               sql.Column('txtModelo', sql.String(30)),
               sql.Column('descBien', sql.String(100)))
            
tblUbicacion = sql.Table ('tblUbicacion', metadata,
               sql.Column('idUbicacion', sql.Integer, primary_key= True),
               sql.Column('txtUbicacion', sql.String(60)),
               sql.Column('txtResponsable',sql.String(60)),
               sql.Column('descUbicacion',sql.String(100)))
                            
tblCondicion = sql.Table ('tblCondicion', metadata,
               sql.Column('idCondicion', sql.Integer, primary_key = True),
               sql.Column('txtCondicion', sql.String(20)),
               sql.Column('descCondicion', sql.String(100)))
                   
tblEquipo    = sql.Table ('tblEquipo', metadata,
               sql.Column('idEquipo', sql.Integer, primary_key = True),
               sql.Column('idBien', sql.Integer),
               sql.Column('txtSerie', sql.String(30)),
               sql.Column('txtInventario', sql.String(40)),
               sql.Column('txtNacional', sql.String(40)))   

tblMovimiento= sql.Table ('tblMovimiento', metadata,
               sql.Column('idMovimiento', sql.Integer, primary_key = True),
               sql.Column('idBien', sql.Integer),
               sql.Column('idTipoMovimiento', sql.Integer),
               sql.Column('idUbicacion', sql.Integer),
               sql.Column('idCondicion', sql.Integer),
               sql.Column('dtFechaHora', sql.DateTime),
               sql.Column('descMovimiento', sql.String(100)))
               
tblTipoMovimiento = sql.Table('tblTipoMovimiento', metadata,
               sql.Column('idTipoMovimiento', sql.Integer, primary_key = True),
               sql.Column('txtTipoMovimiento', sql.String(40)),
               sql.Column('descTipoMovimiento', sql.String(100))) 
               
# Creacion de Tablas
tblBien.create()
tblUbicacion.create()
tblCondicion.create()
tblEquipo.create()
tblMovimiento.create()
tblTipoMovimiento.create()


Entradas Relacionadas

Archivos

Céfiros y Trinos

  • hace 33 minutes Sanchez Toledano tuiteó, "Pero no me digas que lo nuestro fue naufragar..."
  • hace 2 horas Sanchez Toledano tuiteó, "Voy a pagar la luz. Lucero me acompaña. Soy una veleta, dice."
  • hace 5 horas Sanchez Toledano tuiteó, "Las mejores cemitas de Tlaxcala... Recomendadas. (@ Cemitas "La Poblana") http://4sq.com/9Z3atW"
  • hace 10 horas Sanchez Toledano tuiteó, "@r05alba si sepo de algo te aviso. Sale?"
  • hace 10 horas Sanchez Toledano tuiteó, "Aunque no lo crean, estoy trabajando."

Comentarios

Powered by Disqus