миграция не работает в codeigniter

У меня проблема, моя миграция не работает, версия добавлена ​​в БД 0, но я настроил 1 для версии, где не работает метод создания таблицы

class Migration_Add_blog extends CI_Migration {

public function up()
{
$this->dbforge->add_field(array(
'blog_id' => array(
'type' => 'INT',
'constraint' => 5,
'unsigned' => TRUE,
'auto_increment' => TRUE
),
'blog_title' => array(
'type' => 'VARCHAR',
'constraint' => '100',
),
'blog_description' => array(
'type' => 'TEXT',
'constraint'=> '100'
),
));

$this->dbforge->create_table('blog');
$this->dbforge->add_key('id',TRUE);
}

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

0

Решение

В моем случае моя версия схемы уже сделала это, поэтому создание таблицы не будет работать, поэтому вы должны откатить свою схему:

$this->migration->version($old_schema);

Если при откате возникла ошибка, попробуйте комментировать внутри вашего метода down (), потому что таблица еще не существует.

После успешного отката попробуйте перенести его снова.

0

Другие решения

Вы уверены, что назвали файл правильно?

version_fileName.php

в вашем бывшем

 001_Migration_Add_blog.php

$this->dbforge->create_table('blog');
$this->dbforge->add_key('id',TRUE);

в

$this->dbforge->add_key('id',TRUE);
$this->dbforge->create_table('blog');

обновить схему

$this->load->library('migration');

if ( ! $this->migration->current())
{
show_error($this->migration->error_string());
}

или же

$this->load->library('migration');

if ( ! $this->migration->version(5); // or 6 , 7 your migration version
{
show_error($this->migration->error_string());
}
-1

По вопросам рекламы [email protected]