Archive

Posts Tagged ‘Mapping’

PHPCodeCreator [CodeIgniter + Doctrine + RestServer + HMVC]

En vacaciones, aburrido de programar, se me ocurrió la idea de crear código solo, Como es eso?
Bueno la idea fue , bajo el patrón MVC, crear código (Modelo, Controlador , Vista) a partir del modelo de la base de datos. Para ello empece a programar un mappeador de base de datos, que obtiene todas las tablas, columnas, claves primarias y referencias foráneas de una base de datos, y con esos datos comienza a crear los Modelos y posteriores Controles.

Todo ese código es escrito para utilizarlo junto con el framework CodeIgniter y su módulo RestServer, para generar webservice.
Doctrine se encarga de conectar los modelos y la base de datos relacional, ademas de toda la validación de columnas y referencias entre tablas.

Por ahora las Vistas no se generan solas , pero si quieres puedes aportar con nuevas ideas o mejorando lo que ya está.
Hace unas semanas atrás subí el código a github, aquí lo dejo para que se apunten en éste proyecto.

https://github.com/EstebanFuentealba/PHPCodeCreator

Saludos!

MySQL Mapping DataBase

noviembre 15, 2010 1 comentario

Mucho tiempo sin escribir, Estaba trabajando en ATLConsultores , con DTE del SII y muchas cosas en DuocUC
Ademas, estaba haciendo un sistemita en PHP para Mapear y asi poder crear Modelo,Controlador y Vistas (MVC) a partir de la estructura de una base de datos en MySQL.

Aqui dejare las consultas SQL del Mapeador para que la ocupen en algunos proyectos…

Mostrar Todas las tablas de una base de datos

SHOW TABLES

Muestra la estructura de una tabla

DESC <NombreTabla>

Obtener las Constraints de una Tabla (FK,UNIQUE,DELETE-UPDATE ON CASCADE)

SELECT 	K.constraint_name,
		K.table_name 	AS 'local_table',
		K.column_name 	AS 'local_column',
		K.referenced_table_name		AS	'foreign_table',
		K.referenced_column_name	AS	'foreign_column',
		RC.update_rule,
		RC.delete_rule,
		RC.unique_constraint_name 
	FROM 	information_schema.referential_constraints RC 
		INNER JOIN information_schema.key_column_usage K 
		ON K.constraint_name = RC.constraint_name 
		WHERE 	K.table_name = '<NombreTabla>' 
		AND	RC.constraint_schema='<BaseDeDatos>'

Bueno , ese es mi aporte , espero que les sirva…

Saludos!

Categorías:SQL Etiquetas: , , , ,