Fecha Inicial : 20/04/2018
Fecha Final : 20/04/2019
Hora Inicio: 12:37 AM
Hora Final: 2:27 AM
Horas invertidas(Minutos): 110
Colaboradores: Oscar Cortés
Actividad:
Crear una tabla que almacene los cambios dentro de cada tabla al llamar un CRUD
Crear un código en python que parsee el documento que crea las tablas, para generar el CRUD (pendiente que agregue los eventos a la tabla de eventos y RUD para cada tabla)
Código:
Tabla de eventos:
create table EventoMantenimiento (
ID int identity(1,1) primary key,
Tabla nvarchar(50) not null,
Antes XML not null,
Despues XML not null,
Fecha datetime not null default (getDate())
)
Codigo para el CRUD
def createHardcoreCRUDE(script):
"""Crea cuatro funciones por cada tabla, además
de agregar a la tabla 'eventos' los cambios de cada tabla."""
print("Hello world")
tempo = ""
jump = False
for i in range(len(script)-1):
if (script[i] != "\t"):
tempo += script[i]
tablas = []
tabla = None
for t in tempo.split("\n"):
if len(t) == 0:
continue
if (t[-1] == "("):
tabla = Tabla(t.split(" ")[2][:-1])
tablas.append(tabla)
elif (t[0] != ")" and tabla != None):
tt = t.split(" ")
tabla.agregarDato(tt[0], tt[1])
tablas[0].toCRUD()
## if (t[0] == ")" or
## print(t)
class Tabla:
nombre = ""
columnas = []
tipos = []
parametros = []
def __init__(self, pNombre):
self.nombre = pNombre
self.columnas = []
self.tipos = []
self.parametros = []
def agregarDato(self, pNombre, pTipo):
self.columnas.append(pNombre)
intial = pNombre[0].upper()
self.parametros.append("@p" + intial + pNombre[1:])
self.tipos.append(pTipo)
def toString(self):
print(self.nombre)
print(self.columnas)
print(self.tipos)
print(self.parametros)
def toCRUD(self):
#Create
print("create procedure SPCREATE_"+self.nombre)
for i in range(len(self.parametros) - 1):
if (i == len(self.parametros) - 2):
print("\t"+self.parametros[i] + " " + self.tipos[i])
else:
print("\t"+self.parametros[i] + " " + self.tipos[i] + ", ")
print("""as
begin
begin tran""")
print("\t\tinsert into " + self.nombre)
values = "\t\tvalues ("
for i in range(len(self.parametros) - 1):
values += self.parametros[i] + ", "
values = values[:-2] + ")"
print(values)
print("\tcommit tran")
print("end\ngo")
#Delete
#Update
#Read
Fecha Final : 20/04/2019
Hora Inicio: 12:37 AM
Hora Final: 2:27 AM
Horas invertidas(Minutos): 110
Colaboradores: Oscar Cortés
Actividad:
Crear una tabla que almacene los cambios dentro de cada tabla al llamar un CRUD
Crear un código en python que parsee el documento que crea las tablas, para generar el CRUD (pendiente que agregue los eventos a la tabla de eventos y RUD para cada tabla)
Código:
Tabla de eventos:
create table EventoMantenimiento (
ID int identity(1,1) primary key,
Tabla nvarchar(50) not null,
Antes XML not null,
Despues XML not null,
Fecha datetime not null default (getDate())
)
Codigo para el CRUD
def createHardcoreCRUDE(script):
"""Crea cuatro funciones por cada tabla, además
de agregar a la tabla 'eventos' los cambios de cada tabla."""
print("Hello world")
tempo = ""
jump = False
for i in range(len(script)-1):
if (script[i] != "\t"):
tempo += script[i]
tablas = []
tabla = None
for t in tempo.split("\n"):
if len(t) == 0:
continue
if (t[-1] == "("):
tabla = Tabla(t.split(" ")[2][:-1])
tablas.append(tabla)
elif (t[0] != ")" and tabla != None):
tt = t.split(" ")
tabla.agregarDato(tt[0], tt[1])
tablas[0].toCRUD()
## if (t[0] == ")" or
## print(t)
class Tabla:
nombre = ""
columnas = []
tipos = []
parametros = []
def __init__(self, pNombre):
self.nombre = pNombre
self.columnas = []
self.tipos = []
self.parametros = []
def agregarDato(self, pNombre, pTipo):
self.columnas.append(pNombre)
intial = pNombre[0].upper()
self.parametros.append("@p" + intial + pNombre[1:])
self.tipos.append(pTipo)
def toString(self):
print(self.nombre)
print(self.columnas)
print(self.tipos)
print(self.parametros)
def toCRUD(self):
#Create
print("create procedure SPCREATE_"+self.nombre)
for i in range(len(self.parametros) - 1):
if (i == len(self.parametros) - 2):
print("\t"+self.parametros[i] + " " + self.tipos[i])
else:
print("\t"+self.parametros[i] + " " + self.tipos[i] + ", ")
print("""as
begin
begin tran""")
print("\t\tinsert into " + self.nombre)
values = "\t\tvalues ("
for i in range(len(self.parametros) - 1):
values += self.parametros[i] + ", "
values = values[:-2] + ")"
print(values)
print("\tcommit tran")
print("end\ngo")
#Delete
#Update
#Read
Comentarios
Publicar un comentario