Codeigniter迁移无法使用wamp

时间:2013-12-06 00:03:16

标签: php codeigniter wamp codeigniter-2

我正在关注一个教程,我已经用我的代码检查了源代码,以确保没有错误,但是当我输入时,我无法获得codeigniter来创建更新或从我的wamp服务器(版本2.4)检索任何记录任务栏中的public_html / admin / migration codeigniter返回一条消息“迁移工作!”这是在codeigniter更新记录但未对数据库进行任何更改时所期望的结果,这是控制器中使用的代码

<?php
class Migration extends Admin_Controller
{

    public function __construct ()
    {
        parent::__construct();
    }

    public function index ()
    {
        $this->load->library('migration');
        if (! $this->migration->current()) {
            show_error($this->migration->error_string());
        }
        else {
            echo 'Migration worked!';
        }

    }
}

我已将自动加载库设置如下$autoload['libraries'] = array('database'); 有什么我想念的 这是我的迁移库文件'001_create_users.php'

<?php

class Migration_Create_users extends CI_Migration {

    public function up()
    {
        $this->dbforge->add_field(array(
            'id' => array(
                        'type' => 'INT',
                        'constraint' => 11,
                        'unsigned' => TRUE,
                        'auto_increment' => TRUE
            ),
            'email' => array(
                        'type' => 'VARCHAR',
                        'constraint' => '100',
            ),
            'password' => array(
                        'type' => 'VARCHAR',
                        'constraint' => '128',
            ),
                        'name' => array(
                        'type' => 'VARCHAR',
                        'constraint' => '100',
            ),
        ));

        $this->dbforge->create_table('users');
    }

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

2 个答案:

答案 0 :(得分:0)

不确定您是否通过youtube上的免费课程引用了有关codeigniter中cms buildout的教程。

我解决问题的方法(几个小时后)调试到环境设置。

使用var_dump($this->db)替换迁移控制器的索引函数中的所有内容,并查看它为username/password/hostname/database等返回的内容。如果它们不是您对数据库库设置的预期,那么您的环境未在 index.php 文件中正确设置。

我必须修复我的case语句,有一个额外的/\无法记住哪一个,所以switch语句强制它使用生产环境配置,未设定。

答案 1 :(得分:0)

在创建表格之前添加主键

$this->dbforge->add_key('id');