_create_system_auth(); $this->_create_system_auth_node(); $this->_create_system_base(); $this->_create_system_config(); $this->_create_system_data(); $this->_create_system_file(); $this->_create_system_menu(); $this->_create_system_oplog(); $this->_create_system_queue(); $this->_create_system_user(); } /** * 创建数据对象 * @class SystemAuth * @table system_auth * @return void */ private function _create_system_auth() { // 创建数据表对象 $table = $this->table('system_auth', [ 'engine' => 'InnoDB', 'collation' => 'utf8mb4_general_ci', 'comment' => '系统-权限', ]); // 创建或更新数据表 PhinxExtend::upgrade($table, [ ['title', 'string', ['limit' => 100, 'default' => '', 'null' => true, 'comment' => '权限名称']], ['desc', 'string', ['limit' => 500, 'default' => '', 'null' => true, 'comment' => '备注说明']], ['sort', 'biginteger', ['default' => '0', 'null' => true, 'comment' => '排序权重']], ['status', 'integer', ['default' => '1', 'null' => true, 'comment' => '权限状态(1使用,0禁用)']], ['create_at', 'timestamp', ['default' => 'CURRENT_TIMESTAMP', 'null' => true, 'comment' => '创建时间']], ['utype', 'string', ['limit' => 50, 'default' => '', 'null' => true, 'comment' => '身份权限']], ], [ 'sort', 'title', 'status', ], false); } /** * 创建数据对象 * @class SystemAuthNode * @table system_auth_node * @return void */ private function _create_system_auth_node() { // 创建数据表对象 $table = $this->table('system_auth_node', [ 'engine' => 'InnoDB', 'collation' => 'utf8mb4_general_ci', 'comment' => '系统-授权', ]); // 创建或更新数据表 PhinxExtend::upgrade($table, [ ['auth', 'biginteger', ['default' => '0', 'null' => true, 'comment' => '角色']], ['node', 'string', ['limit' => 200, 'default' => '', 'null' => true, 'comment' => '节点']], ], [ 'auth', 'node', ], false); } /** * 创建数据对象 * @class SystemBase * @table system_base * @return void */ private function _create_system_base() { // 创建数据表对象 $table = $this->table('system_base', [ 'engine' => 'InnoDB', 'collation' => 'utf8mb4_general_ci', 'comment' => '系统-字典', ]); // 创建或更新数据表 PhinxExtend::upgrade($table, [ ['type', 'string', ['limit' => 20, 'default' => '', 'null' => true, 'comment' => '数据类型']], ['code', 'string', ['limit' => 100, 'default' => '', 'null' => true, 'comment' => '数据代码']], ['name', 'string', ['limit' => 500, 'default' => '', 'null' => true, 'comment' => '数据名称']], ['content', 'text', ['default' => NULL, 'null' => true, 'comment' => '数据内容']], ['sort', 'biginteger', ['default' => '0', 'null' => true, 'comment' => '排序权重']], ['status', 'integer', ['default' => '1', 'null' => true, 'comment' => '数据状态(0禁用,1启动)']], ['deleted', 'integer', ['default' => '0', 'null' => true, 'comment' => '删除状态(0正常,1已删)']], ['deleted_at', 'string', ['limit' => 20, 'default' => '', 'null' => true, 'comment' => '删除时间']], ['deleted_by', 'biginteger', ['default' => '0', 'null' => true, 'comment' => '删除用户']], ['create_at', 'timestamp', ['default' => 'CURRENT_TIMESTAMP', 'null' => true, 'comment' => '创建时间']], ], [ 'type', 'code', 'name', 'sort', 'status', 'deleted', ], false); } /** * 创建数据对象 * @class SystemConfig * @table system_config * @return void */ private function _create_system_config() { // 创建数据表对象 $table = $this->table('system_config', [ 'engine' => 'InnoDB', 'collation' => 'utf8mb4_general_ci', 'comment' => '系统-配置', ]); // 创建或更新数据表 PhinxExtend::upgrade($table, [ ['type', 'string', ['limit' => 20, 'default' => '', 'null' => true, 'comment' => '配置分类']], ['name', 'string', ['limit' => 100, 'default' => '', 'null' => true, 'comment' => '配置名称']], ['value', 'string', ['limit' => 2048, 'default' => '', 'null' => true, 'comment' => '配置内容']], ], [ 'type', 'name', ], false); } /** * 创建数据对象 * @class SystemData * @table system_data * @return void */ private function _create_system_data() { // 创建数据表对象 $table = $this->table('system_data', [ 'engine' => 'InnoDB', 'collation' => 'utf8mb4_general_ci', 'comment' => '系统-数据', ]); // 创建或更新数据表 PhinxExtend::upgrade($table, [ ['name', 'string', ['limit' => 100, 'default' => '', 'null' => true, 'comment' => '配置名']], ['value', 'text', ['default' => NULL, 'null' => true, 'comment' => '配置值']], ['create_time', 'datetime', ['default' => NULL, 'null' => true, 'comment' => '创建时间']], ['update_time', 'datetime', ['default' => NULL, 'null' => true, 'comment' => '更新时间']], ], [ 'name', 'create_time', ], false); } /** * 创建数据对象 * @class SystemFile * @table system_file * @return void */ private function _create_system_file() { // 创建数据表对象 $table = $this->table('system_file', [ 'engine' => 'InnoDB', 'collation' => 'utf8mb4_general_ci', 'comment' => '系统-文件', ]); // 创建或更新数据表 PhinxExtend::upgrade($table, [ ['type', 'string', ['limit' => 20, 'default' => '', 'null' => true, 'comment' => '上传类型']], ['hash', 'string', ['limit' => 32, 'default' => '', 'null' => true, 'comment' => '文件哈希']], ['tags', 'string', ['limit' => 50, 'default' => '', 'null' => true, 'comment' => '文件标签']], ['name', 'string', ['limit' => 180, 'default' => '', 'null' => true, 'comment' => '文件名称']], ['xext', 'string', ['limit' => 100, 'default' => '', 'null' => true, 'comment' => '文件后缀']], ['xurl', 'string', ['limit' => 500, 'default' => '', 'null' => true, 'comment' => '访问链接']], ['xkey', 'string', ['limit' => 500, 'default' => '', 'null' => true, 'comment' => '文件路径']], ['mime', 'string', ['limit' => 100, 'default' => '', 'null' => true, 'comment' => '文件类型']], ['size', 'biginteger', ['default' => '0', 'null' => true, 'comment' => '文件大小']], ['uuid', 'biginteger', ['default' => '0', 'null' => true, 'comment' => '用户编号']], ['unid', 'biginteger', ['default' => '0', 'null' => true, 'comment' => '会员编号']], ['isfast', 'integer', ['default' => '0', 'null' => true, 'comment' => '是否秒传']], ['issafe', 'integer', ['default' => '0', 'null' => true, 'comment' => '安全模式']], ['status', 'integer', ['default' => '1', 'null' => true, 'comment' => '上传状态(1悬空,2落地)']], ['create_at', 'datetime', ['default' => NULL, 'null' => true, 'comment' => '创建时间']], ['update_at', 'datetime', ['default' => NULL, 'null' => true, 'comment' => '更新时间']], ], [ 'type', 'hash', 'uuid', 'xext', 'unid', 'tags', 'name', 'status', 'issafe', 'isfast', 'create_at', ], false); } /** * 创建数据对象 * @class SystemMenu * @table system_menu * @return void */ private function _create_system_menu() { // 创建数据表对象 $table = $this->table('system_menu', [ 'engine' => 'InnoDB', 'collation' => 'utf8mb4_general_ci', 'comment' => '系统-菜单', ]); // 创建或更新数据表 PhinxExtend::upgrade($table, [ ['pid', 'biginteger', ['default' => '0', 'null' => true, 'comment' => '上级ID']], ['title', 'string', ['limit' => 100, 'default' => '', 'null' => true, 'comment' => '菜单名称']], ['icon', 'string', ['limit' => 100, 'default' => '', 'null' => true, 'comment' => '菜单图标']], ['node', 'string', ['limit' => 100, 'default' => '', 'null' => true, 'comment' => '节点代码']], ['url', 'string', ['limit' => 400, 'default' => '', 'null' => true, 'comment' => '链接节点']], ['params', 'string', ['limit' => 500, 'default' => '', 'null' => true, 'comment' => '链接参数']], ['target', 'string', ['limit' => 20, 'default' => '_self', 'null' => true, 'comment' => '打开方式']], ['sort', 'biginteger', ['default' => '0', 'null' => true, 'comment' => '排序权重']], ['status', 'integer', ['default' => '1', 'null' => true, 'comment' => '状态(0:禁用,1:启用)']], ['create_at', 'timestamp', ['default' => 'CURRENT_TIMESTAMP', 'null' => true, 'comment' => '创建时间']], ], [ 'pid', 'node', 'sort', 'status', ], false); } /** * 创建数据对象 * @class SystemOplog * @table system_oplog * @return void */ private function _create_system_oplog() { // 创建数据表对象 $table = $this->table('system_oplog', [ 'engine' => 'InnoDB', 'collation' => 'utf8mb4_general_ci', 'comment' => '系统-日志', ]); // 创建或更新数据表 PhinxExtend::upgrade($table, [ ['node', 'string', ['limit' => 200, 'default' => '', 'null' => false, 'comment' => '当前操作节点']], ['geoip', 'string', ['limit' => 15, 'default' => '', 'null' => false, 'comment' => '操作者IP地址']], ['action', 'string', ['limit' => 200, 'default' => '', 'null' => false, 'comment' => '操作行为名称']], ['content', 'string', ['limit' => 1024, 'default' => '', 'null' => false, 'comment' => '操作内容描述']], ['username', 'string', ['limit' => 50, 'default' => '', 'null' => false, 'comment' => '操作人用户名']], ['create_at', 'timestamp', ['default' => 'CURRENT_TIMESTAMP', 'null' => false, 'comment' => '创建时间']], ], [ 'create_at', ], false); } /** * 创建数据对象 * @class SystemQueue * @table system_queue * @return void */ private function _create_system_queue() { // 创建数据表对象 $table = $this->table('system_queue', [ 'engine' => 'InnoDB', 'collation' => 'utf8mb4_general_ci', 'comment' => '系统-任务', ]); // 创建或更新数据表 PhinxExtend::upgrade($table, [ ['code', 'string', ['limit' => 20, 'default' => '', 'null' => false, 'comment' => '任务编号']], ['title', 'string', ['limit' => 100, 'default' => '', 'null' => false, 'comment' => '任务名称']], ['command', 'string', ['limit' => 500, 'default' => '', 'null' => true, 'comment' => '执行指令']], ['exec_pid', 'biginteger', ['default' => '0', 'null' => true, 'comment' => '执行进程']], ['exec_data', 'text', ['default' => NULL, 'null' => true, 'comment' => '执行参数']], ['exec_time', 'biginteger', ['default' => '0', 'null' => true, 'comment' => '执行时间']], ['exec_desc', 'string', ['limit' => 500, 'default' => '', 'null' => true, 'comment' => '执行描述']], ['enter_time', 'decimal', ['precision' => 20, 'scale' => 4, 'default' => '0.0000', 'null' => true, 'comment' => '开始时间']], ['outer_time', 'decimal', ['precision' => 20, 'scale' => 4, 'default' => '0.0000', 'null' => true, 'comment' => '结束时间']], ['loops_time', 'biginteger', ['default' => '0', 'null' => true, 'comment' => '循环时间']], ['attempts', 'biginteger', ['default' => '0', 'null' => true, 'comment' => '执行次数']], ['message', 'text', ['default' => NULL, 'null' => true, 'comment' => '最新消息']], ['rscript', 'integer', ['default' => '1', 'null' => true, 'comment' => '任务类型(0单例,1多例)']], ['status', 'integer', ['default' => '1', 'null' => true, 'comment' => '任务状态(1新任务,2处理中,3成功,4失败)']], ['create_at', 'timestamp', ['default' => 'CURRENT_TIMESTAMP', 'null' => false, 'comment' => '创建时间']], ], [ 'code', 'title', 'status', 'rscript', 'create_at', 'exec_time', ], false); } /** * 创建数据对象 * @class SystemUser * @table system_user * @return void */ private function _create_system_user() { // 创建数据表对象 $table = $this->table('system_user', [ 'engine' => 'InnoDB', 'collation' => 'utf8mb4_general_ci', 'comment' => '系统-用户', ]); // 创建或更新数据表 PhinxExtend::upgrade($table, [ ['username', 'string', ['limit' => 50, 'default' => '', 'null' => true, 'comment' => '用户账号']], ['password', 'string', ['limit' => 32, 'default' => '', 'null' => true, 'comment' => '用户密码']], ['nickname', 'string', ['limit' => 50, 'default' => '', 'null' => true, 'comment' => '用户昵称']], ['headimg', 'string', ['limit' => 255, 'default' => '', 'null' => true, 'comment' => '头像地址']], ['authorize', 'string', ['limit' => 255, 'default' => '', 'null' => true, 'comment' => '权限授权']], ['contact_qq', 'string', ['limit' => 20, 'default' => '', 'null' => true, 'comment' => '联系QQ']], ['contact_mail', 'string', ['limit' => 20, 'default' => '', 'null' => true, 'comment' => '联系邮箱']], ['contact_phone', 'string', ['limit' => 20, 'default' => '', 'null' => true, 'comment' => '联系手机']], ['login_ip', 'string', ['limit' => 255, 'default' => '', 'null' => true, 'comment' => '登录地址']], ['login_at', 'string', ['limit' => 20, 'default' => '', 'null' => true, 'comment' => '登录时间']], ['login_num', 'biginteger', ['default' => '0', 'null' => true, 'comment' => '登录次数']], ['describe', 'string', ['limit' => 255, 'default' => '', 'null' => true, 'comment' => '备注说明']], ['status', 'integer', ['default' => '1', 'null' => true, 'comment' => '状态(0禁用,1启用)']], ['sort', 'biginteger', ['default' => '0', 'null' => true, 'comment' => '排序权重']], ['is_deleted', 'integer', ['default' => '0', 'null' => true, 'comment' => '删除(1删除,0未删)']], ['create_at', 'timestamp', ['default' => 'CURRENT_TIMESTAMP', 'null' => true, 'comment' => '创建时间']], ['usertype', 'string', ['limit' => 20, 'default' => '', 'null' => true, 'comment' => '用户类型']], ], [ 'sort', 'status', 'username', 'is_deleted', ], false); } }