NO puedo generar el CRUD


(Armilso Torres) #1

Buenos días

Recien estoy empezando con Yii y he encontrado un problema que no se si a alguien ya le haya ocurrido y pueda ayudarme.

He creado mi aplicación modelo y los formularios acordes a mi necesidad, sinembargo al tratar de interacuar con Bases de datos en postgres, intente generar el CRUD dado que requiero de consultas complejas.

Los pasos que he seguido son los siguientes.

ingreso al directorio de mi aplicación

modifique mi archivo protected/config/main para colocar la respectiva conexion de la siguiente manera:

[b]‘db’=>array(

                    'connectionString' => 'pgsql:host=ipservidor;port=5432;dbname=dbname',


                    'username' => 'postgres',


                    'password' => 'password',


                    'charset' => 'LATIN1',


                    'schemaCachingDuration'=>86400,


            ),[/b]

una vez realizo esto procedo a la generacion del CRUD via shell.

asi: protected/yiic shell

ahi empieza mi problema y no me genera nada…solamente se queda en el promt

muestra lo siguiente:

[b]Yii Interactive Tool v1.1 (based on Yii v1.1.0)

Please type ‘help’ for help. Type ‘exit’ to quit.

>>[/b]

he hecho esta prueba incluso con una BD de solo una tabla y no me responde.

estoy utilizando un servidor debian etch,

si alquien me puede colaborar agradezco de antemano.


(Sebathi) #2

Verificaste de cumplir con los requerimientos de Yii??


(Luciano Baraglia) #3

¿El problema es que el prompt no te responde al tipear?

Es más…intentaste tipear en el prompt? :rolleyes:


(Erling Fiallos) #4

Aun mas que eso… debes de decirle al yiic shell donde esta el index de tu aplicacion… lo hiciste… ??

Normalmente se crea la carpeta del proyecto… digamos de la siguiente estructura

/app

—index.php

—/protected

------/yicc

entonces para que el comando funcione deberias de escribir




yicc shell ../index.php




(Hmsegura) #5

has leido la guia?

mira esta pagina, esta bien clarito como usar el shell (y CRUD) y en catellano!!!

http://www.yiiframework.com/doc/guide/es/quickstart.first-app


(Armilso Torres) #6

Sip efectivamente en el test el servidor cumple los requerimientos.


(Armilso Torres) #7

el promt me permite tipear de hecho si doy help o test responde, lo que sucede es que se queda sin responder a la generacion del CRUD de acuerdo con la BD de la que realice la correccion…


(Armilso Torres) #8

tengo mi servidor y mi sitio publico se ubica en /var/www/html/ alli tengo el framework en una carpeta llamada originalmente yii mi aplicacion la cree con nombre papeleria entonces la ubicacion queda asi:

/var/www/html/papeleria/ desde esta estoy ejecutando el shell asi protected/yiic shell y es alli donde no me responde. hice lo que me dijo de la siguiente forma protected/yiic shell index.php

[b][root@imaginev papeleria]# protected/yiic shell index.php

Yii Interactive Tool v1.1 (based on Yii v1.1.0)

Please type ‘help’ for help. Type ‘exit’ to quit.

>>[/b] De ahi no pasa


(Erling Fiallos) #9

Creo que tu problema es algo que tiene que ver con la rutas… porque no ejecutas el yiic shell con la ruta de index que yo puse en el ejemplo… el index que tu estas utilizando de la vista site no es la correcta…


(Armilso Torres) #10

(Luciano Baraglia) #11

Está bien cómo estabas llamando al shell:


protected/yiic shell

La verdad nunca ví ese problema.

¿Antes de generar el crud generaste el modelo?


model MiClase nombre_tabla

Y después


crud MiClase

Es raro que se quede colgado…


(Armilso Torres) #12

Gracias por su respuesta, me di cuenta de ello y corregí, sinembargo no me funciona se queda indefinidamente ahí

[b][root@imaginev papeleria]# protected/yiic shell index.php

Yii Interactive Tool v1.1 (based on Yii v1.1.0)

Please type ‘help’ for help. Type ‘exit’ to quit.

>>[/b]


(Luciano Baraglia) #13

No hace falta que le indiques en ese caso el index.php ya que estás dentro del directorio raíz.

Si estuvieras dentro de protected tendrías que escribir:


yiic shell ../index.php

Pero en tu caso nó.


(Armilso Torres) #14

no no he generado el modelo, me explicarias como es esto…


(Luciano Baraglia) #15

Deberías leer la guía que te pasaron.

Igualmente, en pocas palabras, el modelo son las clases que el framework te va a generar de acuerdo a las tablas en la base de datos.

Esas son las clases que después va a usar para administrar los datos en la base.

En el prompt escribí:


help model

y


help crud

para entender cómo se usan.


(Armilso Torres) #16

Gracias a quienes contestaron… ya he logrado solucionar mi problema el lio es que en ningun lado hace alusión a que luego de invocar la shell debes digitar model y el nombre de la tabla respectiva y posteriormente crud y el nmbre de la tabla…

Gracias…a ver si sigo mi proceso…de dominar este framework


(Luciano Baraglia) #17

La guía que te pasó Horacio: http://www.yiiframework.com/doc/guide/es/quickstart.first-app

Buscá la parte que dice Implementando operaciones CRUD.

<_<


(Erling Fiallos) #18

Para futuras referencias, luego te tener configurada la bd en el archivo main.php

http://jackfiallos.com/2009/11/05/yii-framework-¿ya-tengo-mi-base-de-datos-y-ahora-que-hago/


(citlali1997) #20

La imagen anterior esta mal JAJAJA
Para futuras referencias, a mi me funciona el nombre de la clase en el código, en este caso Usuario1, que aparece como “clase Usuario1 se extiende \ yii \ db \ ActiveRecord” (imagen) y el nombre del archivo debe ser como el nombre de la clase Usuario1.