mirror of
https://github.com/elyby/accounts.git
synced 2024-11-27 01:02:06 +05:30
38 lines
1.2 KiB
PHP
38 lines
1.2 KiB
PHP
|
<?php
|
||
|
|
||
|
use console\db\Migration;
|
||
|
|
||
|
class m160414_231110_account_nicknames_history extends Migration {
|
||
|
|
||
|
public function safeUp() {
|
||
|
$this->createTable('{{%usernames_history}}', [
|
||
|
'id' => $this->primaryKey(),
|
||
|
'username' => $this->string()->notNull(),
|
||
|
'account_id' => $this->getDb()->getSchema()->getTableSchema('{{%accounts}}')->getColumn('id')->dbType . ' NOT NULL',
|
||
|
'applied_in' => $this->integer()->notNull(),
|
||
|
], $this->tableOptions);
|
||
|
|
||
|
$this->addForeignKey('FK_usernames_history_to_account', '{{%usernames_history}}', 'account_id', '{{%accounts}}', 'id', 'CASCADE', 'CASCADE');
|
||
|
|
||
|
$accountNicknames = $this->getDb()->createCommand('
|
||
|
SELECT id,
|
||
|
username,
|
||
|
updated_at
|
||
|
FROM {{%accounts}}
|
||
|
')->queryAll();
|
||
|
|
||
|
foreach($accountNicknames as $row) {
|
||
|
$this->insert('{{%usernames_history}}', [
|
||
|
'username' => $row['username'],
|
||
|
'account_id' => $row['id'],
|
||
|
'applied_in' => $row['updated_at'],
|
||
|
]);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public function safeDown() {
|
||
|
$this->dropTable('{{%usernames_history}}');
|
||
|
}
|
||
|
|
||
|
}
|