restore admin helper chain and stabilize seo routes
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
use think\migration\Migrator;
|
||||
use think\migration\db\Column;
|
||||
|
||||
class CreateSeoExternalSnapshotTable extends Migrator
|
||||
{
|
||||
public function up()
|
||||
{
|
||||
$Table = $this->table('seo_external_snapshot', ['id' => false]);
|
||||
$Table
|
||||
->addColumn(Column::integer('id')->setUnsigned()->setIdentity(true)->setComment('主键'))
|
||||
->addColumn(Column::integer('domain_id')->setUnsigned()->setDefault(0)->setComment('站点ID'))
|
||||
->addColumn(Column::string('host', 255)->setDefault('')->setComment('站点域名'))
|
||||
->addColumn(Column::string('provider', 100)->setDefault('')->setComment('数据提供方'))
|
||||
->addColumn(Column::string('snapshot_type', 50)->setDefault('')->setComment('快照类型'))
|
||||
->addColumn(Column::string('scope', 20)->setDefault('host')->setComment('粒度 host/keyword'))
|
||||
->addColumn(Column::string('keyword', 255)->setDefault('')->setComment('关键词'))
|
||||
->addColumn(Column::string('device', 20)->setDefault('')->setComment('设备 pc/mobile'))
|
||||
->addColumn(Column::string('metric_date', 20)->setDefault('')->setComment('指标日期'))
|
||||
->addColumn(Column::integer('queried_at')->setDefault(0)->setComment('采集时间'))
|
||||
->addColumn(Column::string('source', 50)->setDefault('push_api')->setComment('来源'))
|
||||
->addColumn(Column::string('status', 30)->setDefault('')->setComment('状态'))
|
||||
->addColumn(Column::string('indexed_status', 30)->setDefault('')->setComment('收录状态'))
|
||||
->addColumn(Column::string('result_count_text', 255)->setDefault('')->setComment('收录结果文本'))
|
||||
->addColumn(Column::string('baidu_pc_ip_range', 50)->setDefault('')->setComment('百度PC来路区间'))
|
||||
->addColumn(Column::string('baidu_mobile_ip_range', 50)->setDefault('')->setComment('百度移动来路区间'))
|
||||
->addColumn(Column::integer('pc_keyword_count')->setDefault(0)->setComment('PC词数'))
|
||||
->addColumn(Column::integer('mobile_keyword_count')->setDefault(0)->setComment('移动词数'))
|
||||
->addColumn(Column::integer('rank_value')->setDefault(0)->setComment('关键词排名'))
|
||||
->addColumn(Column::integer('search_volume')->setDefault(0)->setComment('搜索量'))
|
||||
->addColumn(Column::text('payload')->setNullable(true)->setComment('扩展数据JSON'))
|
||||
->addColumn(Column::string('snapshot_signature', 64)->setDefault('')->setComment('快照签名'))
|
||||
->addColumn(Column::integer('created_at')->setDefault(0)->setComment('创建时间'))
|
||||
->addColumn(Column::integer('updated_at')->setDefault(0)->setComment('更新时间'))
|
||||
->addIndex(['id'], ['type' => 'primary'])
|
||||
->addIndex(['snapshot_signature'])
|
||||
->addIndex(['host', 'provider', 'metric_date'])
|
||||
->addIndex(['host', 'scope'])
|
||||
->addIndex(['keyword'])
|
||||
->setComment('站外SEO历史快照表')
|
||||
->create();
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
$this->table('seo_external_snapshot')->drop()->save();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
use think\migration\Migrator;
|
||||
|
||||
class OptimizeSeoExternalSnapshotIndexes extends Migrator
|
||||
{
|
||||
public function up()
|
||||
{
|
||||
$this->table('seo_external_snapshot')
|
||||
->addIndex(['provider', 'snapshot_type', 'scope', 'metric_date'], ['name' => 'idx_provider_type_scope_date'])
|
||||
->addIndex(['snapshot_type', 'scope', 'metric_date'], ['name' => 'idx_type_scope_date'])
|
||||
->addIndex(['host', 'snapshot_type', 'metric_date'], ['name' => 'idx_host_type_date'])
|
||||
->addIndex(['host', 'keyword', 'device', 'metric_date'], ['name' => 'idx_host_keyword_device_date'])
|
||||
->update();
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
$this->table('seo_external_snapshot')
|
||||
->removeIndexByName('idx_provider_type_scope_date')
|
||||
->removeIndexByName('idx_type_scope_date')
|
||||
->removeIndexByName('idx_host_type_date')
|
||||
->removeIndexByName('idx_host_keyword_device_date')
|
||||
->update();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user