我有一个问题,我的迁移不起作用,添加到数据库的版本是0但是我已经为版本配置了1而没有运行我的create table方法
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 :(得分:0)
在我的情况下,我的架构版本已经完成,所以创建表不会工作,所以你必须回滚你的架构:
type Parser a b =
Parser (State a -> List (State b))
如果回滚有错误,请尝试在方法内部注释down(),因为该表尚不存在。
成功回滚后,现在尝试再次迁移。
答案 1 :(得分:-1)
您确定正确命名了文件吗?
<强> 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());
}