From 91c32db90a093f0b1fc1210be71ab7b3124f165a Mon Sep 17 00:00:00 2001 From: BBIT-Kai <2911862937@qq.com> Date: Thu, 18 Sep 2025 17:20:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0SQL=E8=A1=A8=E7=BB=93?= =?UTF-8?q?=E6=9E=842?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ktor/src/main/resources/application.yaml | 4 +- server/SQL/sca_images.sql | 16 ++--- server/SQL/users.sql | 28 ++++---- server/SQL/video_analytics_details.sql | 72 +++------------------ server/SQL/videos.sql | 28 +++++--- server/docker-compose copy.yml | 82 ------------------------ server/docker-compose.yml | 65 +++++++++++++++++++ 7 files changed, 115 insertions(+), 180 deletions(-) delete mode 100644 server/docker-compose copy.yml diff --git a/ktor/src/main/resources/application.yaml b/ktor/src/main/resources/application.yaml index 4bcb2b7..c1c412c 100644 --- a/ktor/src/main/resources/application.yaml +++ b/ktor/src/main/resources/application.yaml @@ -16,8 +16,8 @@ ktor: realm: "Snowflake Server" secret: "secret_jwt" database: -# url: "jdbc:postgresql://10.10.10.9:5432/ktor2" - url: "jdbc:postgresql://localhost:5432/ktor2" + url: "jdbc:postgresql://10.10.10.9:5432/ktor2" +# url: "jdbc:postgresql://localhost:5432/ktor2" driver: "org.postgresql.Driver" user: "postgres" password: "123456" diff --git a/server/SQL/sca_images.sql b/server/SQL/sca_images.sql index 2b52a72..0d47600 100644 --- a/server/SQL/sca_images.sql +++ b/server/SQL/sca_images.sql @@ -12,7 +12,7 @@ Target Server Version : 150013 (150013) File Encoding : 65001 - Date: 22/08/2025 10:12:49 + Date: 18/09/2025 16:10:25 */ @@ -21,7 +21,7 @@ -- ---------------------------- DROP TABLE IF EXISTS "public"."sca_images"; CREATE TABLE "public"."sca_images" ( - "id" uuid NOT NULL, + "id" uuid NOT NULL DEFAULT gen_random_uuid(), "upload_datetime" timestamp(6), "file_name" varchar(255) COLLATE "pg_catalog"."default", "resolution" varchar(255) COLLATE "pg_catalog"."default", @@ -37,6 +37,7 @@ CREATE TABLE "public"."sca_images" ( "image_after" varchar(255) COLLATE "pg_catalog"."default" ) ; +COMMENT ON COLUMN "public"."sca_images"."id" IS '主键'; COMMENT ON COLUMN "public"."sca_images"."upload_datetime" IS '图片上传时间'; COMMENT ON COLUMN "public"."sca_images"."file_name" IS '图片原始文件名'; COMMENT ON COLUMN "public"."sca_images"."resolution" IS '图片分辨率'; @@ -50,16 +51,7 @@ COMMENT ON COLUMN "public"."sca_images"."processing_time" IS '分析耗时'; COMMENT ON COLUMN "public"."sca_images"."name" IS '任务名'; COMMENT ON COLUMN "public"."sca_images"."image_pre" IS '识别前OSS对象名'; COMMENT ON COLUMN "public"."sca_images"."image_after" IS '识别后OSS对象名'; - --- ---------------------------- --- Records of sca_images --- ---------------------------- -INSERT INTO "public"."sca_images" VALUES ('5de4a6a1-c043-ed34-ab7c-0c9e9c6b2eb4', '2025-03-18 14:30:00', 'image_001.jpg', '1920x1080', 2.5, 15, 0.98, 0.75, 0.85, '{ - "正茧": 15, - "普茧": 0, - "黄斑": 0, - "双宫": 0 -}', '2025-03-18 14:31:05', '测试用例1', 'bfca3a998659ec179a76ac99666b529.jpg', '62d69fdcbd4ebebda63301ce0582564.jpg'); +COMMENT ON TABLE "public"."sca_images" IS '图像分析-蚕茧质量检测分析任务'; -- ---------------------------- -- Primary Key structure for table sca_images diff --git a/server/SQL/users.sql b/server/SQL/users.sql index dd4bc20..8abec6a 100644 --- a/server/SQL/users.sql +++ b/server/SQL/users.sql @@ -12,7 +12,7 @@ Target Server Version : 150013 (150013) File Encoding : 65001 - Date: 22/08/2025 10:12:57 + Date: 18/09/2025 16:10:35 */ @@ -21,7 +21,7 @@ -- ---------------------------- DROP TABLE IF EXISTS "public"."users"; CREATE TABLE "public"."users" ( - "id" uuid NOT NULL, + "id" uuid NOT NULL DEFAULT gen_random_uuid(), "username" varchar(50) COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::character varying, "email" varchar(32) COLLATE "pg_catalog"."default", "phone" varchar(32) COLLATE "pg_catalog"."default", @@ -29,19 +29,21 @@ CREATE TABLE "public"."users" ( "is_active" bool NOT NULL DEFAULT true, "created_at" timestamp(6), "updated_at" timestamp(6), - "roles" text COLLATE "pg_catalog"."default" NOT NULL DEFAULT '{}'::text + "roles" json NOT NULL, + "bbit_tenant_id" varchar(255) COLLATE "pg_catalog"."default" ) ; - --- ---------------------------- --- Records of users --- ---------------------------- -INSERT INTO "public"."users" VALUES ('bb647657-1dd3-cdca-580f-3ad351605b66', '范总', 'fanhongcai', NULL, '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92', 't', '2025-05-12 08:58:05', NULL, '{remote,iva,sca}'); -INSERT INTO "public"."users" VALUES ('dc19faee-06ba-6507-d9fe-5835d6a74e2b', '管理员', 'bbit', NULL, '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92', 't', '2024-12-09 21:53:25', '2024-12-09 21:53:25', '{remote,iva,ysa,sca}'); -INSERT INTO "public"."users" VALUES ('c723a73d-29c6-b79a-cd73-bd38890f7fd1', '段工', 'd', NULL, '18ac3e7343f016890c510e93f935261169d9e3f565436429830faf0934f4f8e4', 't', NULL, NULL, '{remote,iva,ysa,sca}'); -INSERT INTO "public"."users" VALUES ('5d8b3d11-d495-5219-c752-d9087ca37d5f', '张工', 'zhangjian', NULL, '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92', 't', '2025-05-17 09:38:35', NULL, '{remote}'); -INSERT INTO "public"."users" VALUES ('f4564c52-ede2-fa5d-298f-bd630666f940', '何工', 'heqixu', NULL, '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92', 't', '2025-05-13 16:41:32', NULL, '{remote}'); -INSERT INTO "public"."users" VALUES ('63a884a1-3488-3a0b-4fc3-e9b6068afa44', '秦工', 'qinlang', NULL, '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92', 't', '2025-05-13 16:41:36', NULL, '{remote}'); +COMMENT ON COLUMN "public"."users"."id" IS '主键'; +COMMENT ON COLUMN "public"."users"."username" IS '用户名'; +COMMENT ON COLUMN "public"."users"."email" IS '邮箱'; +COMMENT ON COLUMN "public"."users"."phone" IS '手机号'; +COMMENT ON COLUMN "public"."users"."password_hash" IS '经加密的密码'; +COMMENT ON COLUMN "public"."users"."is_active" IS '是否可用'; +COMMENT ON COLUMN "public"."users"."created_at" IS '创建时间'; +COMMENT ON COLUMN "public"."users"."updated_at" IS '更新时间'; +COMMENT ON COLUMN "public"."users"."roles" IS '角色权限'; +COMMENT ON COLUMN "public"."users"."bbit_tenant_id" IS '所在bbit中的租户ID'; +COMMENT ON TABLE "public"."users" IS '用户基本信息'; -- ---------------------------- -- Primary Key structure for table users diff --git a/server/SQL/video_analytics_details.sql b/server/SQL/video_analytics_details.sql index eb5da50..5f2d3ac 100644 --- a/server/SQL/video_analytics_details.sql +++ b/server/SQL/video_analytics_details.sql @@ -12,7 +12,7 @@ Target Server Version : 150013 (150013) File Encoding : 65001 - Date: 22/08/2025 10:13:04 + Date: 18/09/2025 16:10:44 */ @@ -21,7 +21,7 @@ -- ---------------------------- DROP TABLE IF EXISTS "public"."video_analytics_details"; CREATE TABLE "public"."video_analytics_details" ( - "id" uuid NOT NULL, + "id" uuid NOT NULL DEFAULT gen_random_uuid(), "v_id" uuid, "time_stamp" int4 NOT NULL, "total_people" int4, @@ -29,67 +29,13 @@ CREATE TABLE "public"."video_analytics_details" ( "action" varchar(50) COLLATE "pg_catalog"."default" ) ; - --- ---------------------------- --- Records of video_analytics_details --- ---------------------------- -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1378', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 1, 0, 0, '--'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1379', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 11, 1, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1380', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 23, 2, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1381', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 33, 1, 0, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1382', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 49, 2, 0, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1383', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 59, 1, 0, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1384', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 69, 2, 0, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1385', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 79, 1, 0, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1386', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 89, 3, 0, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1387', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 101, 4, 0, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1388', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 111, 3, 0, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1389', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 123, 2, 0, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1390', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 133, 3, 0, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1391', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 143, 2, 0, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1392', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 153, 3, 0, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1393', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 163, 2, 0, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1394', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 173, 1, 0, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1395', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 183, 3, 1, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1396', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 193, 1, 0, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1397', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 203, 2, 0, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1398', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 213, 1, 0, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1399', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 223, 2, 0, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1400', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 233, 1, 0, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1401', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 243, 2, 0, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1402', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 253, 1, 0, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1403', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 276, 0, 0, '--'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1404', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 287, 1, 0, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1405', '1a16b6ce-a901-b8c5-607b-eebd33b0544e', 297, 2, 0, 'disinfection'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1406', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 1, 0, 0, '--'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1407', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 12, 1, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1408', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 22, 2, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1409', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 34, 3, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1410', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 44, 2, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1411', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 54, 3, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1412', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 65, 2, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1413', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 75, 3, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1414', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 85, 4, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1415', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 95, 3, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1416', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 106, 2, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1417', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 116, 3, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1418', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 126, 4, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1419', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 136, 3, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1420', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 146, 2, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1421', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 156, 3, 1, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1422', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 166, 3, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1423', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 177, 2, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1424', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 187, 3, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1425', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 197, 2, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1426', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 207, 1, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1427', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 217, 3, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1428', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 228, 4, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1429', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 238, 2, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1430', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 248, 3, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1431', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 259, 2, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1432', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 269, 3, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1433', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 279, 5, 0, 'feed'); -INSERT INTO "public"."video_analytics_details" VALUES ('38fcd3c0-0a61-731f-6dbe-fda51dbf1434', 'cccd78df-eb31-c502-3b45-a00460d43c7d', 289, 4, 0, 'feed'); +COMMENT ON COLUMN "public"."video_analytics_details"."id" IS '主键'; +COMMENT ON COLUMN "public"."video_analytics_details"."v_id" IS '所属视频分析任务ID'; +COMMENT ON COLUMN "public"."video_analytics_details"."time_stamp" IS '时间戳'; +COMMENT ON COLUMN "public"."video_analytics_details"."total_people" IS '当前时间出现的总人数'; +COMMENT ON COLUMN "public"."video_analytics_details"."total_people_masked" IS '当前时间佩戴口罩的人数'; +COMMENT ON COLUMN "public"."video_analytics_details"."action" IS '动作'; +COMMENT ON TABLE "public"."video_analytics_details" IS '视频分析-动作识别任务-分析详情'; -- ---------------------------- -- Primary Key structure for table video_analytics_details diff --git a/server/SQL/videos.sql b/server/SQL/videos.sql index 77b2847..b9cb0d3 100644 --- a/server/SQL/videos.sql +++ b/server/SQL/videos.sql @@ -12,7 +12,7 @@ Target Server Version : 150013 (150013) File Encoding : 65001 - Date: 22/08/2025 10:13:11 + Date: 18/09/2025 16:10:54 */ @@ -21,7 +21,7 @@ -- ---------------------------- DROP TABLE IF EXISTS "public"."videos"; CREATE TABLE "public"."videos" ( - "id" uuid NOT NULL, + "id" uuid NOT NULL DEFAULT gen_random_uuid(), "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, "object_name" varchar(255) COLLATE "pg_catalog"."default", "start_datetime" timestamp(0) NOT NULL, @@ -40,12 +40,24 @@ CREATE TABLE "public"."videos" ( "a_average_masked_ratio" float4 NOT NULL ) ; - --- ---------------------------- --- Records of videos --- ---------------------------- -INSERT INTO "public"."videos" VALUES ('cccd78df-eb31-c502-3b45-a00460d43c7d', '完整喂桑视频测试', 'aff72221-f9d2-4e08-b20a-6cbcb32d8461', '2024-07-18 05:35:47', 'cult_sample_feed_full.mp4', 300, 47.75, 'AVC', 'AAC LC', 1335101, '2304x1296', '2024-10-18 10:21:03', 5, 60, 86, 'feed', 0.33); -INSERT INTO "public"."videos" VALUES ('1a16b6ce-a901-b8c5-607b-eebd33b0544e', '完整消毒视频测试', 'd9c73260-25dd-49d9-8fe1-5b796173e4e6', '2024-07-12 20:54:55', 'cult_sample_disinfection_full.mp4', 300, 36.4, 'AVC', 'AAC LC', 1017703, '2304x1296', '2024-10-18 10:19:05', 4, 49, 112.27, 'disinfection', 0.33); +COMMENT ON COLUMN "public"."videos"."id" IS '主键'; +COMMENT ON COLUMN "public"."videos"."name" IS '任务名称'; +COMMENT ON COLUMN "public"."videos"."object_name" IS 'oss中的对象名'; +COMMENT ON COLUMN "public"."videos"."start_datetime" IS '视频日期开始时间'; +COMMENT ON COLUMN "public"."videos"."file_name" IS '视频文件名'; +COMMENT ON COLUMN "public"."videos"."duration" IS '视频时长'; +COMMENT ON COLUMN "public"."videos"."size" IS '视频文件大小'; +COMMENT ON COLUMN "public"."videos"."video_codec" IS '视频编码格式'; +COMMENT ON COLUMN "public"."videos"."audio_codec" IS '音频编码格式'; +COMMENT ON COLUMN "public"."videos"."overall_bit_rate" IS '总体比特率'; +COMMENT ON COLUMN "public"."videos"."resolution" IS '视频分辨率'; +COMMENT ON COLUMN "public"."videos"."a_time" IS '分析时间'; +COMMENT ON COLUMN "public"."videos"."a_total_people" IS '分析结果:出现最大人数'; +COMMENT ON COLUMN "public"."videos"."a_count_people" IS '分析结果:出现人次'; +COMMENT ON COLUMN "public"."videos"."a_max_stay_time" IS '分析结果:单人最大停留时间'; +COMMENT ON COLUMN "public"."videos"."a_max_action" IS '分析结果:最多出现的动作'; +COMMENT ON COLUMN "public"."videos"."a_average_masked_ratio" IS '分析结果:口罩平均佩戴率'; +COMMENT ON TABLE "public"."videos" IS '视频分析-动作识别任务'; -- ---------------------------- -- Primary Key structure for table videos diff --git a/server/docker-compose copy.yml b/server/docker-compose copy.yml deleted file mode 100644 index 5446c40..0000000 --- a/server/docker-compose copy.yml +++ /dev/null @@ -1,82 +0,0 @@ -services: - # vue: - # image: node:18 - # container_name: ce_vue_dev - # working_dir: /app - # volumes: - # - ./vue:/app - # ports: - # - "8090:8090" - # command: sh -c "npm install && npm run dev -- --host" - # networks: - # - ce_network - - postgres: - image: postgres:15-alpine - container_name: ce_postgres - environment: - POSTGRES_DB: ktor - POSTGRES_USER: postgres - POSTGRES_PASSWORD: 123456 - volumes: - - postgres_data:/var/lib/postgresql/data - ports: - - "5432:5432" - networks: - - ce_network - restart: unless-stopped - - redis: - image: redis:7.2.3-alpine - container_name: ce_redis - volumes: - - redis_data:/data - ports: - - "6379:6379" - networks: - - ce_network - restart: unless-stopped - - minio: - image: minio/minio:RELEASE.2025-03-12T18-04-18Z - container_name: ce_minio - environment: - MINIO_ACCESS_KEY: minioadmin - MINIO_SECRET_KEY: minioadmin - volumes: - - minio_data:/data - ports: - - "9000:9000" - - "9001:9001" - command: server /data --console-address ":9001" - networks: - - ce_network - restart: unless-stopped - -# ollama: -# image: ollama/ollama -# container_name: ce_ollama -# deploy: -# resources: -# reservations: -# devices:7 -# - capabilities: [gpu] # 启用 GPU 支持 -# volumes: -# - ollama_data:/root/.ollama # 持久化 ollama 数据 -# ports: -# - "11434:11434" # 暴露 ollama 的端口 -# networks: -# - ce_network -# restart: unless-stopped - -# 定义数据卷 -volumes: - postgres_data: - redis_data: - minio_data: - ollama_data: # 定义 ollama 的数据卷 - -# 定义网络 -networks: - ce_network: - driver: bridge diff --git a/server/docker-compose.yml b/server/docker-compose.yml index 8438495..1144bdd 100644 --- a/server/docker-compose.yml +++ b/server/docker-compose.yml @@ -60,6 +60,11 @@ services: networks: - ce_network restart: unless-stopped + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] + interval: 30s + timeout: 20s + retries: 3 # ollama: # image: ollama/ollama @@ -77,12 +82,72 @@ services: # - ce_network # restart: unless-stopped + etcd: + container_name: ce_etcd + image: quay.io/coreos/etcd:v3.5.18 + environment: + - ETCD_AUTO_COMPACTION_MODE=revision + - ETCD_AUTO_COMPACTION_RETENTION=1000 + - ETCD_QUOTA_BACKEND_BYTES=4294967296 + - ETCD_SNAPSHOT_COUNT=50000 + networks: + - ce_network + volumes: + - etcd_data:/data/etcd + command: etcd -advertise-client-urls=http://etcd:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /data/etcd + healthcheck: + test: ["CMD", "etcdctl", "endpoint", "health"] + interval: 30s + timeout: 20s + retries: 3 + + milvus: + container_name: ce_milvus + image: milvusdb/milvus:v2.6.1 + command: ["milvus", "run", "standalone"] + security_opt: + - seccomp:unconfined + environment: + ETCD_ENDPOINTS: etcd:2379 + MINIO_ADDRESS: minio:9000 + MQ_TYPE: woodpecker + networks: + - ce_network + volumes: + - milvus_data:/var/lib/milvus + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"] + interval: 30s + start_period: 90s + timeout: 20s + retries: 3 + ports: + - "19530:19530" + - "9091:9091" + depends_on: + - "etcd" + - "minio" + attu: + image: zilliz/attu:v2.6 + container_name: ce_attu + environment: + MILVUS_URL: ce_milvus:19530 # 指向你的 Milvus 容器 + ports: + - "19531:3000" # 浏览器访问端口 + networks: + - ce_network + restart: unless-stopped + depends_on: + - milvus + # 定义数据卷 volumes: postgres_data: redis_data: minio_data: ollama_data: # 定义 ollama 的数据卷 + etcd_data: + milvus_data: # 定义网络 networks: