|
@@ -1,4 +1,5 @@
|
|
# Tabla de Contenido
|
|
# Tabla de Contenido
|
|
|
|
+
|
|
- [Guía de Desarrollo - Creación de Tablas y Consumo de Endpoints en el Backend YII 2](#guía-de-desarrollo---creación-de-tablas-y-consumo-de-endpoints-en-el-backend-yii-2)
|
|
- [Guía de Desarrollo - Creación de Tablas y Consumo de Endpoints en el Backend YII 2](#guía-de-desarrollo---creación-de-tablas-y-consumo-de-endpoints-en-el-backend-yii-2)
|
|
- [Acerca del Proyecto](#acerca-del-proyecto)
|
|
- [Acerca del Proyecto](#acerca-del-proyecto)
|
|
- [El Archivo Principal](#el-archivo-principal)
|
|
- [El Archivo Principal](#el-archivo-principal)
|
|
@@ -15,39 +16,46 @@
|
|
- [TODO](#todo)
|
|
- [TODO](#todo)
|
|
- [Tecnologías](#tecnologías)
|
|
- [Tecnologías](#tecnologías)
|
|
|
|
|
|
-
|
|
|
|
# Guía de Desarrollo - Creación de Tablas y Consumo de Endpoints en el Backend YII 2
|
|
# Guía de Desarrollo - Creación de Tablas y Consumo de Endpoints en el Backend YII 2
|
|
|
|
|
|
## Acerca del Proyecto
|
|
## Acerca del Proyecto
|
|
|
|
+
|
|
Este documento tiene como objetivo proporcionar las pautas y pasos necesarios para llevar a cabo la creación de tablas y servir información mediante el consumo de endpoints o APIs en el backend.
|
|
Este documento tiene como objetivo proporcionar las pautas y pasos necesarios para llevar a cabo la creación de tablas y servir información mediante el consumo de endpoints o APIs en el backend.
|
|
|
|
|
|
## El Archivo Principal
|
|
## El Archivo Principal
|
|
|
|
+
|
|
El archivo principal contiene una serie de pasos detallados que deben seguirse para configurar y poner en marcha el proyecto. A continuación, se describen los principales puntos:
|
|
El archivo principal contiene una serie de pasos detallados que deben seguirse para configurar y poner en marcha el proyecto. A continuación, se describen los principales puntos:
|
|
|
|
|
|
## Prerrequisitos
|
|
## Prerrequisitos
|
|
-Setear tus variables de entorno
|
|
|
|
|
|
|
|
|
|
+Setear tus variables de entorno
|
|
|
|
|
|
### 1. Crear un Rol (Usuario) para la Base de Datos
|
|
### 1. Crear un Rol (Usuario) para la Base de Datos
|
|
|
|
+
|
|
Se explicará cómo crear un rol de usuario específico para la base de datos, garantizando la seguridad y los permisos adecuados.
|
|
Se explicará cómo crear un rol de usuario específico para la base de datos, garantizando la seguridad y los permisos adecuados.
|
|
<br><br>Recuerda tener instalado el motor del posgres para poder operar la consola.
|
|
<br><br>Recuerda tener instalado el motor del posgres para poder operar la consola.
|
|
|
|
|
|

|
|

|
|
|
|
|
|
Ingresar el siguiente ejemplo desde la consola de (psql):
|
|
Ingresar el siguiente ejemplo desde la consola de (psql):
|
|
-~~~
|
|
|
|
|
|
+
|
|
|
|
+```
|
|
create role "DB_USER" with login password 'DB_PASSWORD';
|
|
create role "DB_USER" with login password 'DB_PASSWORD';
|
|
-~~~
|
|
|
|
|
|
+```
|
|
|
|
|
|
### 2. Crear una Base de Datos
|
|
### 2. Crear una Base de Datos
|
|
|
|
+
|
|
Los pasos para la creación de la base de datos necesaria serán detallados, asegurando la correcta configuración del entorno de almacenamiento de datos.
|
|
Los pasos para la creación de la base de datos necesaria serán detallados, asegurando la correcta configuración del entorno de almacenamiento de datos.
|
|
Ingresar el siguiente ejemplo desde la consola de (psql):
|
|
Ingresar el siguiente ejemplo desde la consola de (psql):
|
|
-~~~
|
|
|
|
|
|
+
|
|
|
|
+```
|
|
create database "DB_NAME" with owner="DB_USER" template=template0;
|
|
create database "DB_NAME" with owner="DB_USER" template=template0;
|
|
-~~~
|
|
|
|
|
|
+```
|
|
|
|
+
|
|
nota: recuerda agregar el mismo nombre de usuario, password, nombre de la base de datos en tu archivo db.php antes de aplicar tus migraciones
|
|
nota: recuerda agregar el mismo nombre de usuario, password, nombre de la base de datos en tu archivo db.php antes de aplicar tus migraciones
|
|
|
|
|
|
### 3. Configurar en el Archivo `config/db.php`
|
|
### 3. Configurar en el Archivo `config/db.php`
|
|
|
|
+
|
|
Se proporcionarán instrucciones sobre cómo configurar adecuadamente el archivo `db.php` para establecer la conexión entre la aplicación y la base de datos.
|
|
Se proporcionarán instrucciones sobre cómo configurar adecuadamente el archivo `db.php` para establecer la conexión entre la aplicación y la base de datos.
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
@@ -56,46 +64,56 @@ Configurar en el archivo config/db.php la información de la base de datos, reem
|
|

|
|

|
|
|
|
|
|
### 4. Clonar el Proyecto de PHP
|
|
### 4. Clonar el Proyecto de PHP
|
|
|
|
+
|
|
Instrucciones sobre cómo clonar el proyecto desde el repositorio de PHP para obtener la estructura base del proyecto.
|
|
Instrucciones sobre cómo clonar el proyecto desde el repositorio de PHP para obtener la estructura base del proyecto.
|
|
-~~~
|
|
|
|
|
|
+
|
|
|
|
+```
|
|
https://git.miralo.xyz/computo21/yii2.git
|
|
https://git.miralo.xyz/computo21/yii2.git
|
|
-~~~
|
|
|
|
|
|
+```
|
|
|
|
+
|
|
<br>
|
|
<br>
|
|
Después de clonar el proyecto ejecutar en la terminal instalar las dependencias composer
|
|
Después de clonar el proyecto ejecutar en la terminal instalar las dependencias composer
|
|
~~~
|
|
~~~
|
|
composer install
|
|
composer install
|
|
~~~
|
|
~~~
|
|
-Si te aparece el siguiente error, proceder a actualizar composer.
|
|
|
|
|
|
+Si te aparece el siguiente error, proceder a actualizar composer.
|
|
|
|
|
|

|
|

|
|
-~~~
|
|
|
|
|
|
+
|
|
|
|
+```
|
|
composer update
|
|
composer update
|
|
-~~~
|
|
|
|
|
|
+```
|
|
|
|
|
|
### 5. Migraciones
|
|
### 5. Migraciones
|
|
|
|
+
|
|
Se describirá el proceso de migración, que implica aplicar y gestionar cambios en la base de datos a medida que evoluciona la aplicación.
|
|
Se describirá el proceso de migración, que implica aplicar y gestionar cambios en la base de datos a medida que evoluciona la aplicación.
|
|
<br>
|
|
<br>
|
|
Comando para ejecutar migraciones
|
|
Comando para ejecutar migraciones
|
|
-~~~
|
|
|
|
|
|
+
|
|
|
|
+```
|
|
php yii migrate
|
|
php yii migrate
|
|
-~~~
|
|
|
|
|
|
+```
|
|
|
|
|
|
Comando para ejecutar solo una migración
|
|
Comando para ejecutar solo una migración
|
|
-~~~
|
|
|
|
|
|
+
|
|
|
|
+```
|
|
php yii migrate/up 1
|
|
php yii migrate/up 1
|
|
-~~~
|
|
|
|
|
|
+```
|
|
|
|
|
|

|
|

|
|
<br>
|
|
<br>
|
|
Comando para crear un archivo de migración
|
|
Comando para crear un archivo de migración
|
|
-~~~
|
|
|
|
|
|
+
|
|
|
|
+```
|
|
php yii migrate/create :name:
|
|
php yii migrate/create :name:
|
|
-~~~
|
|
|
|
|
|
+```
|
|
|
|
|
|
Si deseas ver las tablas creadas en tu base de datos lo pueds hacer dentro de psql con el comando
|
|
Si deseas ver las tablas creadas en tu base de datos lo pueds hacer dentro de psql con el comando
|
|
-~~~
|
|
|
|
|
|
+
|
|
|
|
+```
|
|
\dt
|
|
\dt
|
|
-~~~
|
|
|
|
|
|
+```
|
|
|
|
+
|
|

|
|

|
|
|
|
|
|
Si deseas checar la conectividad a tu base de datos puedes hacerlo de la siguiente manera;
|
|
Si deseas checar la conectividad a tu base de datos puedes hacerlo de la siguiente manera;
|
|
@@ -104,13 +122,16 @@ setear los variables de entorno de Postgres
|
|

|
|

|
|
<br>
|
|
<br>
|
|
Puedes proceder a gestionar tu base de datos directo ahora desde cmd
|
|
Puedes proceder a gestionar tu base de datos directo ahora desde cmd
|
|
-~~~
|
|
|
|
|
|
+
|
|
|
|
+```
|
|
psql -h localhost -U sirgea -d your_database_name
|
|
psql -h localhost -U sirgea -d your_database_name
|
|
-~~~
|
|
|
|
|
|
+```
|
|
|
|
+
|
|
con el siguiente comando sales del modo psql
|
|
con el siguiente comando sales del modo psql
|
|
-~~~
|
|
|
|
|
|
+
|
|
|
|
+```
|
|
\q
|
|
\q
|
|
-~~~
|
|
|
|
|
|
+```
|
|
|
|
|
|
También se puede utilizar el gestor Datagrip para facilitar de manera manual las transacciones.
|
|
También se puede utilizar el gestor Datagrip para facilitar de manera manual las transacciones.
|
|

|
|

|
|
@@ -119,24 +140,26 @@ Configuración del Datagrip
|
|

|
|

|
|
nota: como podemos observar pudimos configurar la conexión desde la interfaz grafica de usuario (GUI), mediante Datagrip, para facilitar la gestion de la base de datos previamente creada.
|
|
nota: como podemos observar pudimos configurar la conexión desde la interfaz grafica de usuario (GUI), mediante Datagrip, para facilitar la gestion de la base de datos previamente creada.
|
|
|
|
|
|
-
|
|
|
|
### 6. Creación de Tablas
|
|
### 6. Creación de Tablas
|
|
|
|
+
|
|
Pasos detallados sobre la creación de tablas específicas, asegurando la coherencia y estructuración adecuada de los datos.
|
|
Pasos detallados sobre la creación de tablas específicas, asegurando la coherencia y estructuración adecuada de los datos.
|
|
<br>
|
|
<br>
|
|
Ejemplo para hacer una tabla, llave primaria, llave foránea
|
|
Ejemplo para hacer una tabla, llave primaria, llave foránea
|
|

|
|

|
|
|
|
|
|
-
|
|
|
|
### 7. Inicialización de Servidor PHP
|
|
### 7. Inicialización de Servidor PHP
|
|
|
|
+
|
|
Instrucciones para inicializar el servidor PHP y poner en marcha la aplicación localmente.
|
|
Instrucciones para inicializar el servidor PHP y poner en marcha la aplicación localmente.
|
|
<br>
|
|
<br>
|
|
|
|
|
|

|
|

|
|
|
|
|
|
-Comando para iniciar un servidor HTTP en el proyecto
|
|
|
|
-~~~
|
|
|
|
|
|
+Comando para iniciar un servidor HTTP en el proyecto
|
|
|
|
+
|
|
|
|
+```
|
|
php yii serve
|
|
php yii serve
|
|
-~~~
|
|
|
|
|
|
+```
|
|
|
|
+
|
|
La primer pantalla al iniciar el servidor es:
|
|
La primer pantalla al iniciar el servidor es:
|
|
|
|
|
|

|
|

|
|
@@ -145,8 +168,8 @@ nota: recuerda agregar la extensión gii para crear tus modelos http://localhost
|
|
|
|
|
|

|
|

|
|
|
|
|
|
-
|
|
|
|
### 8. Generador de Modelos a través del Yii 2
|
|
### 8. Generador de Modelos a través del Yii 2
|
|
|
|
+
|
|
Cómo utilizar el generador de modelos proporcionado por Yii 2 para facilitar la creación de modelos de datos.
|
|
Cómo utilizar el generador de modelos proporcionado por Yii 2 para facilitar la creación de modelos de datos.
|
|
<br>
|
|
<br>
|
|
Entrar en la url del servidor HTTP e ir a la url http://localhost:8080/gii para entrar en el generador de código, despues elegir "Model Generator"
|
|
Entrar en la url del servidor HTTP e ir a la url http://localhost:8080/gii para entrar en el generador de código, despues elegir "Model Generator"
|
|
@@ -158,6 +181,7 @@ Rellenar los campos "Table Name" y "Model Class Name"
|
|
darle clic en "Preview" y después "Generate" para generar el modelo de la tabla
|
|
darle clic en "Preview" y después "Generate" para generar el modelo de la tabla
|
|
|
|
|
|
### 9. Modelos a través del Yii 2
|
|
### 9. Modelos a través del Yii 2
|
|
|
|
+
|
|
Archivo generado en la carpeta "models"
|
|
Archivo generado en la carpeta "models"
|
|

|
|

|
|
Corregir etiquetas de "attributeLabels", nombre de las relaciones ("getIdUsuario0" => "getUsuario") y php doc (documentación sobre la clase)
|
|
Corregir etiquetas de "attributeLabels", nombre de las relaciones ("getIdUsuario0" => "getUsuario") y php doc (documentación sobre la clase)
|
|
@@ -168,25 +192,20 @@ el modelo que está en la raíz debe heredar de ModeloBase
|
|

|
|

|
|
|
|
|
|
### 9. Configuración de Controladores
|
|
### 9. Configuración de Controladores
|
|
|
|
+
|
|
Instrucciones sobre cómo configurar controladores para gestionar de manera eficiente las solicitudes y respuestas en la aplicación.
|
|
Instrucciones sobre cómo configurar controladores para gestionar de manera eficiente las solicitudes y respuestas en la aplicación.
|
|
<br>
|
|
<br>
|
|
Para crear el controlador, copiar el archivo de un catálogo y renombrar el archivo, la clase y la variable $modelClass, corregir los textos de los mensajes de respuesta
|
|
Para crear el controlador, copiar el archivo de un catálogo y renombrar el archivo, la clase y la variable $modelClass, corregir los textos de los mensajes de respuesta
|
|

|
|

|
|
|
|
|
|
-
|
|
|
|
### TODO
|
|
### TODO
|
|
-Lista de tareas pendientes o mejoras planificadas para el proyecto.
|
|
|
|
|
|
|
|
|
|
+Lista de tareas pendientes o mejoras planificadas para el proyecto.
|
|
|
|
|
|
# Tecnologías
|
|
# Tecnologías
|
|
|
|
+
|
|
1. [Composer](https://getcomposer.org/): Herramienta de gestión de dependencias para PHP.
|
|
1. [Composer](https://getcomposer.org/): Herramienta de gestión de dependencias para PHP.
|
|
2. [PHP](https://www.php.net/): PHP puede ser instalado mediante XAMPP. Se recomienda la versión PHP 7.2.31 a < 8.0.
|
|
2. [PHP](https://www.php.net/): PHP puede ser instalado mediante XAMPP. Se recomienda la versión PHP 7.2.31 a < 8.0.
|
|
3. [DataGrip](https://www.jetbrains.com/datagrip/): Entorno de desarrollo para bases de datos.
|
|
3. [DataGrip](https://www.jetbrains.com/datagrip/): Entorno de desarrollo para bases de datos.
|
|
4. [Git](https://git-scm.com/): Sistema de control de versiones distribuido.
|
|
4. [Git](https://git-scm.com/): Sistema de control de versiones distribuido.
|
|
5. [PostgreSQL](https://www.postgresql.org/): Motor de base de datos relacional.
|
|
5. [PostgreSQL](https://www.postgresql.org/): Motor de base de datos relacional.
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|