Traemos la mejor respuesta que encontramos por todo internet. Deseamos que te sea de utilidad y si quieres aportar algo que nos pueda ayudar a perfeccionar nuestra información hazlo con libertad.
Solución:
Usando estas páginas como referencias: al ejecutar a través de la CLI y la clase de migración, puede restringir el acceso a su controlador de migración a la línea de comando con algo similar a estas líneas (application/controllers/migrate.php):
input->is_cli_request()
or exit("Execute via command line: php index.php migrate");
$this->load->library('migration');
public function index()
if(!$this->migration->latest())
show_error($this->migration->error_string());
luego, para ejecutar su última migración, cd en la raíz del directorio de su proyecto y ejecute:
php index.php migrate
pero cuando intente acceder a través del servidor web domain.com/migrate, verá el texto en el script anterior.
No estoy seguro de que esta sea la forma correcta de hacerlo, pero funciona para mí.
Creé un controlador llamado migrate
(controladores/migrar.php).
load->library("migration");
if(!$this->migration->version($version))
show_error($this->migration->error_string());
Luego, desde el navegador llamaré a esta url para ejecutar index
acción en migrate
controlador
P.ej : http://localhost/index.php/migrate/index/1
También puede ejecutar alguna versión para migraciones descendentes o ascendentes:
if(!defined('BASEPATH')) exit('No direct script access allowed');
class Migrate extends CI_Controller
public function __construct()
parent::__construct();
$this->load->library('migration');
public function version($version)
if($this->input->is_cli_request())
$migration = $this->migration->version($version);
if(!$migration)
echo $this->migration->error_string();
else
echo 'Migration(s) done'.PHP_EOL;
else
show_error('You don't have permission for this action');;
Para CLI ejecute este comando php index.php migrate version 5
, donde 5
es la versión de la migración. Si la versión es más de la migración actual, la migración hacia arriba, de lo contrario, hacia abajo a la versión ingresada.
Sección de Reseñas y Valoraciones
Recuerda difundir este enunciado si te fue de ayuda.