2024012700-add_hourly_usage.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. declare(strict_types=1);
  3. use App\Interfaces\MigrationInterface;
  4. use App\Services\DB;
  5. return new class() implements MigrationInterface {
  6. public function up(): int
  7. {
  8. DB::getPdo()->exec("
  9. CREATE TABLE IF NOT EXISTS `hourly_usage` (
  10. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '记录ID',
  11. `user_id` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT '用户ID',
  12. `date` date NOT NULL DEFAULT 0 COMMENT '记录日期',
  13. `usage` longtext NOT NULL DEFAULT '{}' COMMENT '流量用量' CHECK (json_valid(`usage`)),
  14. PRIMARY KEY (`id`),
  15. KEY `user_id` (`user_id`)
  16. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
  17. DROP TABLE IF EXISTS `user_hourly_usage`;
  18. ");
  19. return 2024012700;
  20. }
  21. public function down(): int
  22. {
  23. DB::getPdo()->exec("
  24. CREATE TABLE IF NOT EXISTS `user_hourly_usage` (
  25. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '记录ID',
  26. `user_id` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT '用户ID',
  27. `traffic` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT '当前总流量',
  28. `hourly_usage` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT '过去一小时流量',
  29. `datetime` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '记录时间',
  30. PRIMARY KEY (`id`),
  31. KEY `user_id` (`user_id`)
  32. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
  33. DROP TABLE IF EXISTS `hourly_usage`;
  34. ");
  35. return 2024012300;
  36. }
  37. };