mirror of
https://gitee.com/koogua/course-tencent-cloud.git
synced 2025-07-04 07:51:32 +08:00
261 lines
8.6 KiB
PHP
261 lines
8.6 KiB
PHP
<?php
|
|
/**
|
|
* @copyright Copyright (c) 2021 深圳市酷瓜软件有限公司
|
|
* @license https://opensource.org/licenses/GPL-2.0
|
|
* @link https://www.koogua.com
|
|
*/
|
|
|
|
use Phinx\Db\Adapter\MysqlAdapter;
|
|
|
|
class V20210515063211 extends Phinx\Migration\AbstractMigration
|
|
{
|
|
|
|
public function up()
|
|
{
|
|
$this->modifyArticleFavoriteTable();
|
|
$this->modifyCourseFavoriteTable();
|
|
$this->modifyArticleLikeTable();
|
|
$this->modifyChapterLikeTable();
|
|
$this->modifyCommentLikeTable();
|
|
$this->modifyConsultLikeTable();
|
|
$this->modifyReviewLikeTable();
|
|
$this->handlePointEventRules();
|
|
}
|
|
|
|
protected function modifyArticleFavoriteTable()
|
|
{
|
|
$this->table('kg_article_favorite')
|
|
->addColumn('deleted', 'integer', [
|
|
'null' => false,
|
|
'default' => '0',
|
|
'limit' => MysqlAdapter::INT_REGULAR,
|
|
'signed' => false,
|
|
'comment' => '删除标识',
|
|
'after' => 'user_id',
|
|
])
|
|
->changeColumn('create_time', 'integer', [
|
|
'null' => false,
|
|
'default' => '0',
|
|
'limit' => MysqlAdapter::INT_REGULAR,
|
|
'signed' => false,
|
|
'comment' => '创建时间',
|
|
'after' => 'deleted',
|
|
])
|
|
->addColumn('update_time', 'integer', [
|
|
'null' => false,
|
|
'default' => '0',
|
|
'limit' => MysqlAdapter::INT_REGULAR,
|
|
'signed' => false,
|
|
'comment' => '更新时间',
|
|
'after' => 'create_time',
|
|
])
|
|
->save();
|
|
}
|
|
|
|
protected function modifyCourseFavoriteTable()
|
|
{
|
|
$this->table('kg_course_favorite')
|
|
->addColumn('deleted', 'integer', [
|
|
'null' => false,
|
|
'default' => '0',
|
|
'limit' => MysqlAdapter::INT_REGULAR,
|
|
'signed' => false,
|
|
'comment' => '删除标识',
|
|
'after' => 'user_id',
|
|
])
|
|
->changeColumn('create_time', 'integer', [
|
|
'null' => false,
|
|
'default' => '0',
|
|
'limit' => MysqlAdapter::INT_REGULAR,
|
|
'signed' => false,
|
|
'comment' => '创建时间',
|
|
'after' => 'deleted',
|
|
])
|
|
->addColumn('update_time', 'integer', [
|
|
'null' => false,
|
|
'default' => '0',
|
|
'limit' => MysqlAdapter::INT_REGULAR,
|
|
'signed' => false,
|
|
'comment' => '更新时间',
|
|
'after' => 'create_time',
|
|
])
|
|
->save();
|
|
}
|
|
|
|
protected function modifyArticleLikeTable()
|
|
{
|
|
$this->table('kg_article_like')
|
|
->addColumn('deleted', 'integer', [
|
|
'null' => false,
|
|
'default' => '0',
|
|
'limit' => MysqlAdapter::INT_REGULAR,
|
|
'signed' => false,
|
|
'comment' => '删除标识',
|
|
'after' => 'user_id',
|
|
])
|
|
->changeColumn('create_time', 'integer', [
|
|
'null' => false,
|
|
'default' => '0',
|
|
'limit' => MysqlAdapter::INT_REGULAR,
|
|
'signed' => false,
|
|
'comment' => '创建时间',
|
|
'after' => 'deleted',
|
|
])
|
|
->addColumn('update_time', 'integer', [
|
|
'null' => false,
|
|
'default' => '0',
|
|
'limit' => MysqlAdapter::INT_REGULAR,
|
|
'signed' => false,
|
|
'comment' => '更新时间',
|
|
'after' => 'create_time',
|
|
])
|
|
->save();
|
|
}
|
|
|
|
protected function modifyChapterLikeTable()
|
|
{
|
|
$this->table('kg_chapter_like')
|
|
->addColumn('deleted', 'integer', [
|
|
'null' => false,
|
|
'default' => '0',
|
|
'limit' => MysqlAdapter::INT_REGULAR,
|
|
'signed' => false,
|
|
'comment' => '删除标识',
|
|
'after' => 'user_id',
|
|
])
|
|
->changeColumn('create_time', 'integer', [
|
|
'null' => false,
|
|
'default' => '0',
|
|
'limit' => MysqlAdapter::INT_REGULAR,
|
|
'signed' => false,
|
|
'comment' => '创建时间',
|
|
'after' => 'deleted',
|
|
])
|
|
->addColumn('update_time', 'integer', [
|
|
'null' => false,
|
|
'default' => '0',
|
|
'limit' => MysqlAdapter::INT_REGULAR,
|
|
'signed' => false,
|
|
'comment' => '更新时间',
|
|
'after' => 'create_time',
|
|
])
|
|
->save();
|
|
}
|
|
|
|
protected function modifyCommentLikeTable()
|
|
{
|
|
$this->table('kg_comment_like')
|
|
->addColumn('deleted', 'integer', [
|
|
'null' => false,
|
|
'default' => '0',
|
|
'limit' => MysqlAdapter::INT_REGULAR,
|
|
'signed' => false,
|
|
'comment' => '删除标识',
|
|
'after' => 'user_id',
|
|
])
|
|
->changeColumn('create_time', 'integer', [
|
|
'null' => false,
|
|
'default' => '0',
|
|
'limit' => MysqlAdapter::INT_REGULAR,
|
|
'signed' => false,
|
|
'comment' => '创建时间',
|
|
'after' => 'deleted',
|
|
])
|
|
->addColumn('update_time', 'integer', [
|
|
'null' => false,
|
|
'default' => '0',
|
|
'limit' => MysqlAdapter::INT_REGULAR,
|
|
'signed' => false,
|
|
'comment' => '更新时间',
|
|
'after' => 'create_time',
|
|
])
|
|
->save();
|
|
}
|
|
|
|
protected function modifyConsultLikeTable()
|
|
{
|
|
$this->table('kg_consult_like')
|
|
->addColumn('deleted', 'integer', [
|
|
'null' => false,
|
|
'default' => '0',
|
|
'limit' => MysqlAdapter::INT_REGULAR,
|
|
'signed' => false,
|
|
'comment' => '删除标识',
|
|
'after' => 'user_id',
|
|
])
|
|
->changeColumn('create_time', 'integer', [
|
|
'null' => false,
|
|
'default' => '0',
|
|
'limit' => MysqlAdapter::INT_REGULAR,
|
|
'signed' => false,
|
|
'comment' => '创建时间',
|
|
'after' => 'deleted',
|
|
])
|
|
->addColumn('update_time', 'integer', [
|
|
'null' => false,
|
|
'default' => '0',
|
|
'limit' => MysqlAdapter::INT_REGULAR,
|
|
'signed' => false,
|
|
'comment' => '更新时间',
|
|
'after' => 'create_time',
|
|
])
|
|
->save();
|
|
}
|
|
|
|
protected function modifyReviewLikeTable()
|
|
{
|
|
$this->table('kg_review_like')
|
|
->addColumn('deleted', 'integer', [
|
|
'null' => false,
|
|
'default' => '0',
|
|
'limit' => MysqlAdapter::INT_REGULAR,
|
|
'signed' => false,
|
|
'comment' => '删除标识',
|
|
'after' => 'user_id',
|
|
])
|
|
->changeColumn('create_time', 'integer', [
|
|
'null' => false,
|
|
'default' => '0',
|
|
'limit' => MysqlAdapter::INT_REGULAR,
|
|
'signed' => false,
|
|
'comment' => '创建时间',
|
|
'after' => 'deleted',
|
|
])
|
|
->addColumn('update_time', 'integer', [
|
|
'null' => false,
|
|
'default' => '0',
|
|
'limit' => MysqlAdapter::INT_REGULAR,
|
|
'signed' => false,
|
|
'comment' => '更新时间',
|
|
'after' => 'create_time',
|
|
])
|
|
->save();
|
|
}
|
|
|
|
protected function handlePointEventRules()
|
|
{
|
|
$setting = $this->getQueryBuilder()
|
|
->select('*')
|
|
->from('kg_setting')
|
|
->where(['section' => 'point', 'item_key' => 'event_rule'])
|
|
->execute()->fetch('assoc');
|
|
|
|
if (!$setting) return;
|
|
|
|
$itemValue = json_decode($setting['item_value'], true);
|
|
|
|
$itemValue['article_liked'] = ['point' => 1, 'enabled' => 1, 'limit' => 50];
|
|
$itemValue['question_liked'] = ['point' => 1, 'enabled' => 1, 'limit' => 50];
|
|
$itemValue['answer_liked'] = ['point' => 1, 'enabled' => 1, 'limit' => 50];
|
|
|
|
$itemValue = json_encode($itemValue);
|
|
|
|
$this->getQueryBuilder()
|
|
->update('kg_setting')
|
|
->where(['id' => $setting['id']])
|
|
->set('item_value', $itemValue)
|
|
->execute();
|
|
}
|
|
|
|
}
|