Yii2 Миграция переместить данные в другую таблицу - PullRequest
0 голосов
/ 02 октября 2018

У меня есть таблица:

 CREATE TABLE `ticket` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `price` int(11) DEFAULT NULL,
  `status` NOT NULL DEFAULT,
  `date_created` datetime NOT NULL,
  `date_used` datetime DEFAULT NULL,
  `used_by_user_id` int(11) DEFAULT NULL,) 
 ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

, и я создал таблицу

        $this->createTable('used', [
        'id'              => $this->primaryKey(),
        'ticket_id'        => $this->integer()->notNull(),
        'date_used'        => $this->integer()->notNull(),
        'used_by_user_id' => $this->integer()->notNull(),
], 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB');

Я хочу переместить некоторые данные (date_used & used_by_user_id) из таблицы ticketв другую таблицу, используемую с миграцией yii2 в запросе.Но я не знаю, как это сделать без ActiveRecord & array.

1 Ответ

0 голосов
/ 02 октября 2018
$this->execute("
INSERT INTO used (ticket_id, date_used, used_by_user_id) 
SELECT id, date_used, used_by_user_id 
FROM ticket 
WHERE 
used_by_user_id IS NOT NULL AND date_used IS NOT NULL
");

Только кв.Yii-миграция не поддерживается select в insert into

...