如何使用cron Jobs运行[Codeigniter]迁移?

时间:2015-03-25 10:40:45

标签: php codeigniter cron migration

我只启用cli请求:

if ( ! $this->input->is_cli_request() ) {
          echo 'Only access via command line.';
          exit;    
      }

尝试命令没有运气:

*/5 *   *   *   *
cd /home4/shah/public_html/proof/oinvoices/;
php index.php migrate reset;
php index.php migrate latest;

我想首先运行两个函数我想重置数据库然后调用最新版本的迁移。

既没有显示错误也没有效果。

1 个答案:

答案 0 :(得分:1)

你必须提供php.exe的路径,然后是函数路径。

我假设你有php版本5.3,

/opt/php53/bin/php /home4/shah/public_html/proof/oinvoices/index.php migrate reset
/opt/php53/bin/php /home4/shah/public_html/proof/oinvoices/index.php migrate latest

如果您想运行单个cron作业,请首先在迁移中创建一个函数:

 public function clean_up(){
   if (!$this->migration->version(0)) {
        echo $this->migration->error_string();
    }

    // unset table cache - this will force it to update
    unset($this->db->data_cache['table_names']);

    if (!$this->migration->latest()) {
        echo $this->migration->error_string();
    }
  }
  

然后:如果您使用的是php5.3

/ opt / php53 / bin / php /home4/shah/public_html/proof/oinvoices/index.php migrate clean_up

  

如果您使用的是php5.4

/ opt / php54 / bin / php /home4/shah/public_html/proof/oinvoices/index.php migrate clean_up

希望它能解决你的问题。