CI迁移仍未加载到Codeigniter中的控制器上

时间:2014-06-19 03:57:18

标签: codeigniter

我一直在尝试尝试加载迁移的所有不同方法但不能正常工作,我希望能够加载它们。

在我的控制器上,我有一个表单验证,使用户可以输入数据库信息,然后将该信息发送到相应的文件。

问题: 我在同一个控制器上同时加载迁移时遇到问题。因为它似乎首先加载数据库信息,然后迁移将不会加载到数据库,因为无法选择名称。

过去几天一直在努力工作,没有运气。

控制器

public function index() {
  $this->form_validation->set_rules('hostname', 'Hostname', 'required');
  $this->form_validation->set_rules('username', 'Database Username', 'trim|required|xss_clean');
  $this->form_validation->set_rules('password', 'Password', 'trim|xss_clean');
  $this->form_validation->set_rules('database', 'Database', 'required');
  $this->form_validation->set_rules('driver', 'Database Driver');
  $this->form_validation->set_rules('prefix', 'Database Prefix');   

  $this->load->library('form_validation');
  if($this->form_validation->run() == false) {

    $this->load->view('template/step_3', $data);

  } else {

    $data = array();
    $data['hostname']   = $this->input->post('hostname');
    $data['username']   = $this->input->post('username');
    $data['password']   = $this->input->post('password');
    $data['database']   = $this->input->post('database');
    $data['driver'] = $this->input->post('driver');
    $data['prefix']  = $this->input->post('prefix');

    $data  = $this->load->view('template/configuration/database', $data, true);
    write_file(dirname(FCPATH) . '/admin/application/config/database.php', $data, 'r+');
    write_file(dirname(FCPATH) . '/catalog/config/database.php', $data, 'r+');
    write_file(FCPATH . '/application/config/database.php', $data, 'r+');

    $this->load->dbutil();
        if($this->dbutil->database_exists('default', true)) {
            if($this->input->get('username')) {
                $this->load->library('migration');
                $this->migration->current();
                redirect('step_4');
            } else {
                redirect('step_1', 'refresh');
            }
        } else {
            redirect('step_1', 'refresh');
        }               

     }
   }

}

1 个答案:

答案 0 :(得分:0)

我解决了自己的问题我必须通过加载$ this-> load->数据库('default',true)来删除输入中的所有dbutil来创建新功能