Codeigniter 4 con PostgreSQL

Sin comentarios

Introducción

Siguiendo con los tutoriales de Codeigniter, ahora el ejemplo es con una conexión usando PostgreSQL. No voy a explicar las conexiones, o consultas, ya que todo eso se delega al framework, de tal forma que en eso no hay cambios, son consultas que se van armando, y codeigniter se encarga de realizarlas a la base de datos que se configure, lo que sí explicaré un poco más, es sobre la configuración que se tiene que realizar para poder utilizar Postgresql con Codeigniter 4.

Requerimientos

  • XAMPP 7.4.11
  • PostgreSQL >11
  • Codeigniter 4
  • En este caso y las configuraciones se realizaron con Fedora 32 x86_64 (no probado con windows)

Instalación de PostgreSQL

La instalación de PostgreSQL no la explicaré aquí, sino en otro tutorial que tengo

https://blog.linuxitos.com/instalar-postgresql-12-fedora-31

Instalación de XAMPP

Instalación de XAMPP en Fedora https://blog.linuxitos.com/instalar-xampp-7-4-5-fedora-32

Configuración adicional de XAMPP

Previo a descargar el proyecto con PostgreSQL, es necesario realizar la siguiente configuración en XAMPP

sudo gedit /opt/lampp/etc/php.ini

Se busca la línea ;extension="pgsql.so" y se descomenta:

extension="pgsql.so"

Descargar proyecto de gitlab

El proyecto lo subí a gitlab, así que ahí lo pueden descargar:

https://gitlab.com/ferm/codeigniter4-tutorials-postgresql

Una vez descargado el proyecto de GitLab, se monta sobre htdocs dentro del directorio de XAMPP, el cual está en /opt/lampp/htdocs/

Asignar permisos al directorio del proyecto

Abrir la terminal y entrar a la ruta de /opt/lampp/htdocs/

sudo chown -R daemon:tu-usuario codeigniter4-tutorials-postgresql
sudo chmod -R 775 codeigniter4-tutorials-postgresql
sudo chmod 777 -R codeigniter4-tutorials-postgresql/writable

Si el cambiaron el nombre al proyecto, entones cambiarlo aquí también, o bien su nombre de usuario.

Crear la base de datos

En éste caso, se usa pgamin 3 para conectarse al servidor de postgresql, sin embargo, si quieren usar otro, no hay problema. O bien pueden crearla de manera manual, el script está en el proyecto.

Abrir pgadmin, crear una conexión una base de datos, y restaurarla desde el archivo que está en el proyecto.

Configurar la conexión a postgresql desde codeigniter

Hay dos archivos solamente que son necesarios modificar:

Archivo .env

Éste archivo contiene la url del proyecto, encriptación, contraseñas de las bases de datos, etc.

Sólo modificamos la url del proyecto, y la base de datos, lo demás lo dejo a su consideración, además, debo mencionar que éste proyecto está configurado en modo development.

En el archivo .env se modifican los siguientes accesos que correspondan a la configuración del servidor de postgresql que estén usando

#--------------------------------------------------------------------
# DATABASE
#--------------------------------------------------------------------

database.default.hostname =localhost
database.default.database =ci_ajax_pagination
database.default.username =postgres
database.default.password =
database.default.DBDriver =Postgre
database.default.port =5432

Archivo app/Config/App.php

Aquí se modifca la url del proyecto, nombre, etc.

public $baseURL = 'http://localhost/devs/ci4_postgresql_tutorials/';

Archivo app/Config/Database.php

Se modifican los parámetros de acuerdo a la configuración del servidor de postgresql que estén utilizando

public $default = [
		'DSN'      => 'pgsql:host=localhost;port=5432;dbname=ci_ajax_pagination;user=user;password=password',
		//'DSN'      => '',
		'hostname' => 'localhost',
		'username' => '',
		'password' => '',
		'database' => 'ci_ajax_pagination',
		'DBDriver' => 'Postgre',
		'DBPrefix' => '',
		'pConnect' => false,
		'DBDebug'  => (ENVIRONMENT !== 'production'),
		'cacheOn'  => false,
		'cacheDir' => '',
		/*'charset'  => 'latin1',
		'DBCollat' => 'latin1_swedish_ci',*/
		'charset'  => 'utf8',
		'DBCollat' => 'utf8_general_ci',
		'swapPre'  => '',
		'encrypt'  => false,
		'compress' => false,
		'strictOn' => false,
		'failover' => [],
		'port'     => 5432,
	];

Correr el proyecto

Una vez realizado todos esos cambios, ahora abrir la url del proyecto en el navegador http://localhost/codeigniter4-tutorials-postgresql/

En el gif de ejemplo, es otra url, pero eso simplemente es porque tengo muchos proyecto de ejemplos, y por comodidad los he agrupado en una directorio llamado devs.

Y eso sería todo, si tienen alguna duda, o comentario, por favor dejarlo aquí abajo.

Comentarios:

Redes sociales
Accesos directos