У меня возникли проблемы с выяснением этого бизнеса миграции для CodeIgniter … Я не могу найти достойную документацию, которая объясняет дополнительные элементы поля, такие как current_timestamp, значения по умолчанию datetime и т. Д. И т. Д.
Мне было интересно, может ли кто-нибудь помочь мне перевести следующее в правильные массивы dbforge-> add_field
Мне нужны следующие 2
`last_login` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
а также
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00'
Я скопировал их из инструкции SQL insert из библиотеки tank_auth.
Но сейчас я хочу перенести его в миграцию.
Ура,
для номера 1 вы можете использовать
$this->dbforge->add_field('last_login TIMESTAMP');
или
$data = array( 'type' => 'TIMESTAMP' );
Этот авто вставляет ВКЛ. ОБНОВЛЕНИЕ CURRENT_TIMESTAMP
Я думаю, вам может быть не повезло. Это доступные варианты для dbforge :
Кроме того, могут использоваться следующие ключи / значения:
unsigned/true : to generate "UNSIGNED" in the field definition. default/value : to generate a default value in the field definition. null/true : to generate "NULL" in the field definition. Without this, the field will > default to "NOT NULL". auto_increment/true : generates an auto_increment flag on the field. Note that the > field type must be a type that supports this, such as integer
Возможно, вам придется пройти стандартный запрос. $this->db->query('YOUR QUERY HERE');
может быть то, что вам нужно.