REAPI/database/migrations/20009999999988_install_service_table.php
mzeros b0fbd5c5a6 feat(database): 添加多个数据库迁移脚本
- 新增 test、taobao、system、suoka 和 stat 数据库表的迁移脚本- 包含各种数据表的创建和字段定义
- 为系统初始化、统计、对账等功能提供数据支持
2024-12-22 17:42:44 +08:00

166 lines
7.4 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
use think\admin\extend\PhinxExtend;
use think\migration\Migrator;
@set_time_limit(0);
@ini_set('memory_limit', -1);
class InstallServiceTable extends Migrator
{
/**
* 创建数据库
*/
public function change()
{
$this->_create_service_info();
$this->_create_service_product();
$this->_create_service_system();
$this->_create_service_system_api();
$this->_create_service_system_col();
}
/**
* 创建数据对象
* @class ServiceInfo
* @table service_info
* @return void
*/
private function _create_service_info()
{
// 创建数据表对象
$table = $this->table('service_info', [
'engine' => 'InnoDB', 'collation' => 'utf8mb4_general_ci', 'comment' => '业务表',
]);
// 创建或更新数据表
PhinxExtend::upgrade($table, [
['name', 'string', ['limit' => 100, 'default' => NULL, 'null' => false, 'comment' => '']],
['key', 'string', ['limit' => 100, 'default' => NULL, 'null' => false, 'comment' => '关键字']],
['type', 'integer', ['default' => '1', 'null' => false, 'comment' => '1加油卡2话费']],
['option', 'string', ['limit' => 500, 'default' => NULL, 'null' => true, 'comment' => '可选项,影响折扣']],
['col_required_value', 'string', ['limit' => 1000, 'default' => NULL, 'null' => true, 'comment' => '必填字段']],
['col_option_value', 'string', ['limit' => 1000, 'default' => NULL, 'null' => true, 'comment' => '选填字段']],
['status', 'tinyinteger', ['limit' => 1, 'default' => 1, 'null' => false, 'comment' => '']],
['create_at', 'timestamp', ['default' => 'CURRENT_TIMESTAMP', 'null' => false, 'comment' => '']],
], [
], false);
}
/**
* 创建数据对象
* @class ServiceProduct
* @table service_product
* @return void
*/
private function _create_service_product()
{
// 创建数据表对象
$table = $this->table('service_product', [
'engine' => 'InnoDB', 'collation' => 'utf8mb4_general_ci', 'comment' => '业务产品表',
]);
// 创建或更新数据表
PhinxExtend::upgrade($table, [
['service_id', 'integer', ['default' => NULL, 'null' => false, 'comment' => '']],
['name', 'string', ['limit' => 100, 'default' => NULL, 'null' => false, 'comment' => '']],
['value', 'string', ['limit' => 100, 'default' => NULL, 'null' => false, 'comment' => '']],
['sort', 'integer', ['default' => '1', 'null' => false, 'comment' => '排序,正序']],
['status', 'tinyinteger', ['limit' => 1, 'default' => 1, 'null' => false, 'comment' => '1启用2禁用']],
['create_at', 'timestamp', ['default' => 'CURRENT_TIMESTAMP', 'null' => false, 'comment' => '']],
], [
], false);
}
/**
* 创建数据对象
* @class ServiceSystem
* @table service_system
* @return void
*/
private function _create_service_system()
{
// 创建数据表对象
$table = $this->table('service_system', [
'engine' => 'InnoDB', 'collation' => 'utf8mb4_general_ci', 'comment' => '系统管理',
]);
// 创建或更新数据表
PhinxExtend::upgrade($table, [
['name', 'string', ['limit' => 100, 'default' => NULL, 'null' => false, 'comment' => '']],
['sign', 'tinyinteger', ['limit' => 1, 'default' => 1, 'null' => false, 'comment' => '加密算法方式']],
['sign_convert', 'tinyinteger', ['limit' => 1, 'default' => 1, 'null' => false, 'comment' => '']],
['sign_type', 'tinyinteger', ['limit' => 1, 'default' => 1, 'null' => false, 'comment' => '']],
['sign_sort', 'tinyinteger', ['limit' => 1, 'default' => 1, 'null' => false, 'comment' => '']],
['status', 'tinyinteger', ['limit' => 1, 'default' => 1, 'null' => false, 'comment' => '1可用2禁用']],
['create_at', 'timestamp', ['default' => 'CURRENT_TIMESTAMP', 'null' => false, 'comment' => '']],
], [
], false);
}
/**
* 创建数据对象
* @class ServiceSystemApi
* @table service_system_api
* @return void
*/
private function _create_service_system_api()
{
// 创建数据表对象
$table = $this->table('service_system_api', [
'engine' => 'InnoDB', 'collation' => 'utf8mb4_general_ci', 'comment' => '',
]);
// 创建或更新数据表
PhinxExtend::upgrade($table, [
['system_id', 'integer', ['default' => NULL, 'null' => false, 'comment' => '']],
['service_id', 'string', ['limit' => 100, 'default' => '0', 'null' => false, 'comment' => '支持的业务id多个用逗号隔开']],
['service_key', 'string', ['limit' => 100, 'default' => NULL, 'null' => true, 'comment' => '']],
['type', 'tinyinteger', ['limit' => 1, 'default' => 1, 'null' => false, 'comment' => '']],
['api', 'string', ['limit' => 100, 'default' => NULL, 'null' => false, 'comment' => '接口地址']],
['request_method', 'tinyinteger', ['limit' => 1, 'default' => 1, 'null' => false, 'comment' => '请求方式']],
['header', 'string', ['limit' => 1000, 'default' => NULL, 'null' => true, 'comment' => 'header参数']],
['success_key', 'string', ['limit' => 100, 'default' => NULL, 'null' => true, 'comment' => '响应成功字段名']],
['success_value', 'string', ['limit' => 100, 'default' => NULL, 'null' => true, 'comment' => '响应成功字段值']],
['msg_key', 'string', ['limit' => 100, 'default' => NULL, 'null' => true, 'comment' => '响应消息字段名']],
['channel_order_id', 'string', ['limit' => 100, 'default' => NULL, 'null' => true, 'comment' => '上游订单号字段名']],
['notify_status_col', 'string', ['limit' => 100, 'default' => NULL, 'null' => true, 'comment' => '回调状态字段名']],
['notify_status_value', 'string', ['limit' => 100, 'default' => NULL, 'null' => true, 'comment' => '回调状态字段值']],
['notify_number', 'string', ['limit' => 100, 'default' => NULL, 'null' => true, 'comment' => '回调流水号的字段值']],
['notify_msg', 'string', ['limit' => 100, 'default' => 'success', 'null' => true, 'comment' => '回调成功字符串的值']],
['status', 'tinyinteger', ['limit' => 1, 'default' => 1, 'null' => false, 'comment' => '']],
['create_at', 'timestamp', ['default' => 'CURRENT_TIMESTAMP', 'null' => false, 'comment' => '']],
], [
], false);
}
/**
* 创建数据对象
* @class ServiceSystemCol
* @table service_system_col
* @return void
*/
private function _create_service_system_col()
{
// 创建数据表对象
$table = $this->table('service_system_col', [
'engine' => 'InnoDB', 'collation' => 'utf8mb4_general_ci', 'comment' => '',
]);
// 创建或更新数据表
PhinxExtend::upgrade($table, [
['system_id', 'integer', ['default' => NULL, 'null' => false, 'comment' => '']],
['api_id', 'integer', ['default' => NULL, 'null' => false, 'comment' => '']],
['name', 'string', ['limit' => 100, 'default' => NULL, 'null' => true, 'comment' => '']],
['type', 'integer', ['default' => '1', 'null' => false, 'comment' => '']],
['value', 'string', ['limit' => 1000, 'default' => NULL, 'null' => true, 'comment' => '']],
['option', 'integer', ['default' => '1', 'null' => false, 'comment' => '1必填2选填']],
['sign', 'tinyinteger', ['limit' => 1, 'default' => 1, 'null' => false, 'comment' => '1参与加密2不参与加密']],
['create_at', 'timestamp', ['default' => 'CURRENT_TIMESTAMP', 'null' => false, 'comment' => '']],
], [
], false);
}
}