혹시나 해서 남겨둡니다. 아래처럼 하면 문제가 없는데요..
$this->load->dbforge();
$fields = array(
'id' => array(
'type' => 'INT',
'constraint' => 5,
'unsigned' => TRUE,
'auto_increment' => TRUE
)
);
$this->dbforge->add_field($fields);
$this->dbforge->add_key('id', TRUE);
$this->create_table('table_name', true);
아래처럼 하면 문제가 생기더라구요.
$this->load->dbforge();
$this->dbforge->add_field('id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY');
$this->dbforge->add_key('id', TRUE);
$this->create_table('table_name', true);
뭐가 다른지 몰라 한참 헤매다가..
메뉴얼을 찬찬히 보니..
Passing raw strings as fields cannot be followed by add_key() calls on those fields.
영어로 되어 있어 대충 넘겼는데, 중요한 포인트가 들어가 있네요;;
배열로 넘기려니 보기도 안좋고 소스도 쭈욱 늘어나서 그랬던 건데..
그래서 아래처럼 했습니다.
$this->load->dbforge();
$add_fields = array();
$add_fields['id'] = array('type'=>'INT', 'constraint' => 10, 'unsigned' => TRUE, 'auto_increment' => TRUE);
$this->dbforge->add_field($add_fields);
$this->dbforge->add_key('id', TRUE);
$attributes = array('ENGINE' => 'InnoDB');
$this->dbforge->create_table('table_name', TRUE, $attributes);
이상 끗. ^^;