Problema con la ejecución de Seeders en Codeignter 4

 image



Una de las ventajas de trabajar en el framework de codeigniter 4 son las migraciones, es decir, en lugar de crear la tabla directamente creamos los archivos de migración y cuando actualicemos los fuentes desde nuestra maquina al servidor basta con correr un php spark migrate y los campos y tablas nuevas se actualizan instantáneamente en servidor de base de datos de nuestro servidor.

En los archivos de base de datos o de migración de de dos tipos que son los siguientes
● Migration
● Seeds

Los archivos de migración en resumen es para poner tablas y campos nuevos mientras que los archivos seeds son para insertar datos a la tabla, en nuestro caso permisos, menus ETC

Según teníamos entendido que los seeders se ejecutaban también con el comando de php spark migrate, pero al parecer no se ejecuto en el servidor el motivo era por que tenia errores, pero no los mostro el comando.

Lo que se tuvo que hacer fue correr el siguiente comandophp spark db:seed


A continuación nos solicitara el nombre del archivo seedCodeIgniter v4.5.1 Command Line Tool - Server Time: 2024-06-24 09:19:25 UTC-07:00


Nombre de semilla :

Le ponemos el nombre de la semilla en nuestro caso es nuestro archivo se llama PermissionNotaCreditoSeeder.php la clase se llama igual solo que sin la extensión .php quedaría de la siguiente forma y le damos enter en caso de que el archivo contenga un error nos los mostrara, en nuestro caso como todo nos salió bien nos arrojo este mensaje

El contenido del archivo seed era el siguiente.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php

namespace App\Database\Seeds;

use CodeIgniter\Config\Services;
use CodeIgniter\Database\Seeder;
use Myth\Auth\Entities\User;
use Myth\Auth\Models\UserModel;
use julio101290\boilerplate\Models\MenuModel;

class PermissionNotaCreditoSeeder extends Seeder {

    /**
     * @var Authorize
     */
    protected $authorize;

    /**
     * @var Db
     */
    protected $db;

    /**
     * @var Users
     */
    protected $users;

    //protected $menu;

    public function __construct() {
        $this->authorize = Services::authorization();
        $this->db = \Config\Database::connect();
        $this->users = new UserModel();
    }

    public function run() {

        $this->authorize->createPermission('listaNotaCredito-permission', 'Permiso para la lista de notas de crédito');
        $this->authorize->addPermissionToGroup('listaNotaCredito-permission', 'admin');
        $this->authorize->addPermissionToUser('listaNotaCredito-permission', 1);
        
    }
}



OFERTAS MERCADO PAGO
¡Hola! 👋
Te regalo $ 100 de descuento para que uses en Mercado Pago por primera vez.
Aprovéchalo para:
● Comprar en Mercado Libre
● Pagar con Debit Mastercard®
● Recargar tu celular
● Pagar tus servicios
¡El descuento aplica para un pago mínimo de $ 200 y es válido hasta 7 días! 🤑
Descarga la app para activar tu descuento:
https://mpago.li/1C1TreU

OFERTAS CAFFENIO
Quiero regalarte $30 para que disfrutes de una bebida en CAFFENIO. Para aceptarlos, regístrate en https://recomendados.caffenio.com/ncFd1Tuwta

Comentarios

Entradas populares