Holas de nuevo >_<, ahora que ya conocemos los conceptos
básicos de Yii, podemos pasar al momento de generar los modelos para comenzar a
trabajar en el "desarrollo" de la aplicación.
Crearemos pues, una base de datos que llamaremos pruebayii en Mysql con la
siguiente estructura:
id SERIAL NOT NULL ,
nombre VARCHAR (40) NOT NULL ,
app VARCHAR (50) NOT NULL ,
apm VARCHAR (50) ,
profesion VARCHAR (20),
fecha_nacimiento DATE NOT NULL ,
sexo BOOL NOt NULL,
documento_identidad VARCHAR (15) NOT NULL ,
CONSTRAINT persona_PK PRIMARY KEY (
id
)
) ;
app VARCHAR (50) NOT NULL ,
apm VARCHAR (50) ,
profesion VARCHAR (20),
fecha_nacimiento DATE NOT NULL ,
sexo BOOL NOt NULL,
documento_identidad VARCHAR (15) NOT NULL ,
CONSTRAINT persona_PK PRIMARY KEY (
id
)
) ;
CREATE TABLE telefono (
id SERIAL NOT NULL ,
numero VARCHAR (20) NOT NULL ,
persona_id INTEGER NOT NULL ,
CONSTRAINT telefono_PK PRIMARY KEY (
id
)
);
ALTER TABLE telefono ADD CONSTRAINT telefono_persona_FK FOREIGN KEY (
persona_id
)
REFERENCES persona (
id
)
ON DELETE RESTRICT ;
Para permitir a la aplicación conectarse a una base datos en Mysql
se debe editar el archivo "main.php" (ubicado en la ruta
"c:/ruta/nombreproyecto/protected/config"). Buscamos la linea de
conexión a la Base de Datos, por defecto la aplicación esta configurada para
conectar con una Base de datos sqlite pero podemos escoger el DBMS en el archivo de configuración. La estructura
para configurar la conexión con una Base de Datos en Mysql es la siguiente:
'db'=>array(
'connectionString'
=> 'mysql:host=localhost;dbname=nombrebd',
'emulatePrepare'
=> true,
'username'
=> 'usuario',
'password'
=> 'contraseña',
'charset'
=> 'utf8',
)
donde:
- localhost: es la ubicación de la Base de Datos, puede ser localhost para configurar el equipo local o la dirección ip del equipo que tiene la Base de Datos instalada. OJO: Es necesario configurar la instancia de mysql para aceptar pedidos fuera del equipo local de Base de Datos si se utilizara una dirección ip en este parámetro.
- nombrebd: el nombre de la Base de Datos a la que nos conectaremos.
- usuario: el usuario de la Base de Datos Mysql. Usualmente "root" por defecto.
- contraseña: la contraseña para conectar a la Base de Datos. Usualmente un campo vacío por defecto ("").
El archivo de configuración para nuestro ejemplo se debería ver de la
siguiente manera:
/* conexion con
sqlite comentada
'db'=>array(
'connectionString'
=> 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db',),
*/
'db'=>array(
'connectionString'
=> 'mysql:host=localhost;dbname=pruebayii',
'emulatePrepare'
=> true,
'username'
=> 'root',
'password'
=> '70599020',
'charset'
=> 'utf8',
),
Ahora habilitaremos una herramienta gráfica que nos permitira generar
los modelos de la base de datos, se llama Gii (una gran imaginación para llamar
a sus herramientas XD). Para habilitar esta "herramienta" se debe
editar nuevamente el archivo de configuración, buscamos en el archivo de configuración
la palabra "gii" y descomentamos la configuración. El archivo deberia
quedar de la siguiente manera:
'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=>'123',
//
If removed, Gii defaults to localhost only. Edit carefully to taste. 'ipFilters'=>array('127.0.0.1','::1'),
)
Ahora ingresamos a la aplicación, con uno de los siguientes URLs (dependendiendo de su configuración):
http://yiiproject.dev/index.php?r=gii
http://localhost/yiiproject/index.php?r=gii
Se muestra la pagina de inicio de Gii que nos pedira el password que
configuramos en el paso anterior.
Le damos el password que configuramos en el paso anterior y presionamos el boton "Enter".
Nos aparece la pantalla donde podremos generar Controladores, Crud, Formularios, Modelos y Módulos. Presionamos en el enlace (link) "Model Generator" y nos
aparece el formulario para generar modelos. En "Table Name" anotamos
"*" y presionamos el boton "Preview", se muestra los
archivos que se generaran y presionamos el boton "Generate".
Y listo >_<, ya tenemos los modelos generados, los podemos
encontrar en la carpeta "protected/models", así que a darles un
vistazo. En la siguiente parte del tutorial veremos como generar formularios y ajustarlos a nuestras necesidades.
Keep Coding!!!
buenas tardes
ResponderEliminarMe aparece el menú pero cuando presiono Model Generator no me muestra nada, el explorador se queda pensando y no muestra la pantalla que indicas anteriormente.
saludos
Podrias ser muchas cosas, te aconsejo instalar Firebug para ver si existe algun error en la pagina. Firebug es una extension para firefox y para chrome que permite ver la estructura interna de un sitio en el navegador.
EliminarBuenas...
ResponderEliminarNecesito realizar la conexion con SYBASE, alguien me podría ayudar al respecto? Muchas gracias...