From 51672734a6f719a0330f0ec4901c6d8bb23def58 Mon Sep 17 00:00:00 2001 From: JaguarJack Date: Wed, 1 Jul 2020 15:24:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96sql=E7=94=9F=E6=88=90&?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0creator=5Fid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extend/catcher/generate/factory/SQL.php | 19 +++++++++++++++++-- .../library/rate/SlidingWindowLimit.php | 10 ++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 extend/catcher/library/rate/SlidingWindowLimit.php diff --git a/extend/catcher/generate/factory/SQL.php b/extend/catcher/generate/factory/SQL.php index 1a98eff..6293af8 100644 --- a/extend/catcher/generate/factory/SQL.php +++ b/extend/catcher/generate/factory/SQL.php @@ -55,6 +55,10 @@ class SQL extends Factory if ($ifHaveNotFields) { throw new FailedException('Do you have set mysql fields?'); } + // 创建人 + if ($extra['creator_id'] ?? false) { + $createSql .= $this->parseCreatorId(); + } // 创建时间 if ($extra['created_at'] ?? false) { $createSql .= $this->parseCreatedAt(); @@ -99,11 +103,11 @@ class SQL extends Factory $default = trim(trim($sql['default'], '\'')); if (!$sql['nullable']) { $_sql[] = 'not null'; - if (!$default) { + if ($default == '' || $default === '') { $_sql[] = ' default \'\''; } else { if (strpos('int', $sql['type']) === false) { - $_sql[] = ' default "' . $default . '"'; + $_sql[] = ' default ' . (int)$default ; } else { $_sql[] = ' default ' . $default; } @@ -152,6 +156,17 @@ class SQL extends Factory return sprintf('`deleted_at` int unsigned not null default 0 comment \'%s\',', '软删除') . PHP_EOL; } + /** + * parse creator id + * + * @time 2020年07月01日 + * @return string + */ + protected function parseCreatorId() + { + return sprintf('`creator_id` int unsigned not null default 0 comment \'%s\',', '创建人ID') . PHP_EOL; + } + /** * created table * diff --git a/extend/catcher/library/rate/SlidingWindowLimit.php b/extend/catcher/library/rate/SlidingWindowLimit.php new file mode 100644 index 0000000..ef90e0a --- /dev/null +++ b/extend/catcher/library/rate/SlidingWindowLimit.php @@ -0,0 +1,10 @@ +