3
respostas

Nao consegui realizar migration ( Curso de CodeIgniter) HELP,ME!

Olá, estou realizando o curso de CodeIgniter, bem intuitivo show, porem no exercico de migrations onde é criada uma tabela de vendas e uma migracao via php tento acessar via navegador a funcao migrate do controller utils para executar a migracao e da nao encontrado. Estou cansado ou o que pode ser??? Bom, indo por partes, controller utils existe no projeto, sim tem a public function migrate, sim o config esta habilitado e configurada uma migracao, sim

HELP,ME! ```http://localhost/mercado/utils/migrate Not Found

The requested URL /mercado/utils/migrate was not found on this server.

Apache/2.4.23 (Win64) PHP/5.6.25 Server at localhost Port 80 ````

Segue configura cao do config

A) Migration.php,

B) codigo do controller utils, e

C) codigo do arquivo criado na pasta Migrations.

// STATUS DE ARQUIVO CONFIG

$config['migration_enabled'] = TRUE;


/*
|--------------------------------------------------------------------------
| Migrations version
|--------------------------------------------------------------------------
|
| This is used to set migration version that the file system should be on.
| If you run $this->migration->latest() this is the version that schema will
| be upgraded / downgraded to.
|
*/
$config['migration_version'] = 1;

//CODIGO DO CONTROLLER UTILS

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class utils extends CI_Controller {
    public function migrate() {

        $this->load->library("Migration");
        $success = $this->migration->current();

        if($success) {
            echo 'migrado';
        } else {
            show_error($this->migration->error_string());
        }

    }
}
----//----------------------------------------

//CODIGO DO ARQUIVO Migration_Cria_tabela_de_vendas.php Criado na pasta Migrations

<?php
class Migration_Cria_tabela_de_vendas extends CI_migration {

    public function up() {
        $this->dbforge->add_field(array(
            'id' => array(
                'type' => 'INT',
                'auto_increment' => true
            ),
            'produto_id' => array (
                'type' => 'INT'
            ),
            'comprador_id' => array(
                'type' => 'INT'
            ),
            'data_de_entrega' => array(
                'type' => 'DATE'
            )
        ));
        $this->dbforge->add_key('id', true);
        $this->dbforge->create_table('vendas');
    }

        public function down() {
        $this->dbforge->drop_table('vendas');
    }

    }//end class
3 respostas

Olá, Gustavo.

Qual é a porta que você está subindo o servidor? Se você não estiver utilizando a porta 80 você precisa falar a porta quando estiver acessando a URL pelo browser. Por exemplo, se a porta do servidor estiver em 8080 a sua URL tem que ficar assim:

http://localhost:8080/mercado/utils/migrate

Salve prezado primeiro obrigado por responder,

Estou utilizando sim a porta 80, por este motivo nem especifiquei no browser, pode conferir tinha colocado a mensagem de erro. Vou colocar aqui, diretamente náo encontra o controller utils ou nao pode processalo. A modo de teste ja o coloquei para rodar como default no config de rotas, e percebi que tbm nao roda. Alguma ideia?

Not Found

The requested URL /mecado/Utils/migrate was not found on this server.

Apache/2.4.23 (Win64) PHP/5.6.25 Server at localhost Port 80

Se ideias cara. Eu vou invocar outros instrutores para ver se alguém consegue te ajudar.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software