-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinit-all-databases.sql
More file actions
1515 lines (1265 loc) · 50.3 KB
/
init-all-databases.sql
File metadata and controls
1515 lines (1265 loc) · 50.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
-- 创建海牙平台所有服务所需的数据库
-- 完整数据库初始化脚本
-- 创建所有服务数据库
CREATE DATABASE IF NOT EXISTS haiya_user CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_video CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_comment CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_like CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_follow CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_gateway CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_registry CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_message CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_live CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_recommend CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_search CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_payment CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_ecommerce CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_ad CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_ad_analytics CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_analytics CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_ar_vr CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_article CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_audio CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_bi CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_camera CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_campaign CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_cart CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_content_security CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_copyright CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_creator_tools CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_dashboard CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_data_collector CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_data_warehouse CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_database_sharding CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_distributed_transaction CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_editor CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_effect CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_feature_engineering CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_gift CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_group CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_im CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_live_interaction CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_localization CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_logistics CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_media_processing CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_mesh CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_minor_protection CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_ml_platform CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_moderation CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_notification CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_order CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_product CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_qanda CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_real_time_processing CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_storage CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_story CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_supply_chain CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_topic CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_transcoder CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_translation CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS haiya_virtual_tryon CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 先创建用户再授权
-- 注意:在生产环境中,请使用更安全的密码
CREATE USER IF NOT EXISTS 'haiya'@'%' IDENTIFIED BY 'haiya123';
CREATE USER IF NOT EXISTS 'haiya'@'localhost' IDENTIFIED BY 'haiya123';
-- 授权haiya用户访问所有相关数据库
GRANT ALL PRIVILEGES ON haiya_user.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_video.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_comment.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_like.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_follow.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_gateway.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_registry.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_message.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_live.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_recommend.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_search.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_payment.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_ecommerce.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_ad.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_ad_analytics.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_analytics.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_ar_vr.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_article.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_audio.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_bi.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_camera.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_campaign.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_cart.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_content_security.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_copyright.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_creator_tools.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_dashboard.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_data_collector.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_data_warehouse.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_database_sharding.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_distributed_transaction.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_editor.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_effect.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_feature_engineering.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_gift.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_group.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_im.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_live_interaction.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_localization.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_logistics.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_media_processing.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_mesh.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_minor_protection.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_ml_platform.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_moderation.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_notification.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_order.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_product.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_qanda.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_real_time_processing.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_storage.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_story.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_supply_chain.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_topic.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_transcoder.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_translation.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_virtual_tryon.* TO 'haiya'@'%';
GRANT ALL PRIVILEGES ON haiya_user.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_video.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_comment.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_like.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_follow.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_gateway.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_registry.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_message.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_live.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_recommend.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_search.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_payment.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_ecommerce.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_ad.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_ad_analytics.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_analytics.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_ar_vr.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_article.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_audio.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_bi.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_camera.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_campaign.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_cart.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_content_security.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_copyright.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_creator_tools.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_dashboard.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_data_collector.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_data_warehouse.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_database_sharding.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_distributed_transaction.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_editor.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_effect.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_feature_engineering.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_gift.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_group.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_im.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_live_interaction.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_localization.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_logistics.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_media_processing.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_mesh.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_minor_protection.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_ml_platform.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_moderation.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_notification.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_order.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_product.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_qanda.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_real_time_processing.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_storage.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_story.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_supply_chain.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_topic.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_transcoder.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_translation.* TO 'haiya'@'localhost';
GRANT ALL PRIVILEGES ON haiya_virtual_tryon.* TO 'haiya'@'localhost';
-- 刷新权限
FLUSH PRIVILEGES;
-- 为各个数据库创建表结构
-- 选择用户数据库并创建表
USE haiya_user;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS user_experiences;
DROP TABLE IF EXISTS user_profiles;
DROP TABLE IF EXISTS users;
CREATE TABLE users (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
phone_number VARCHAR(20),
avatar_url VARCHAR(255),
created_at BIGINT,
updated_at BIGINT
);
CREATE TABLE user_profiles (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
user_id BIGINT NOT NULL,
nickname VARCHAR(100),
bio TEXT,
gender ENUM('male', 'female', 'other'),
birthday BIGINT,
location VARCHAR(255),
created_at BIGINT,
updated_at BIGINT,
FOREIGN KEY (user_id) REFERENCES users(id)
);
CREATE TABLE user_experiences (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
user_id BIGINT NOT NULL,
title VARCHAR(100) NOT NULL,
company VARCHAR(100),
start_date BIGINT,
end_date BIGINT,
description TEXT,
created_at BIGINT,
updated_at BIGINT,
FOREIGN KEY (user_id) REFERENCES users(id)
);
CREATE INDEX idx_users_username ON users(username);
CREATE INDEX idx_users_phone ON users(phone_number);
CREATE INDEX idx_user_profiles_user ON user_profiles(user_id);
CREATE INDEX idx_user_experiences_user ON user_experiences(user_id);
-- 选择视频数据库并创建表
USE haiya_video;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS video_tags;
DROP TABLE IF EXISTS video_categories;
DROP TABLE IF EXISTS videos;
CREATE TABLE videos (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
description TEXT,
url VARCHAR(500) NOT NULL,
thumbnail_url VARCHAR(500),
duration INT,
view_count BIGINT DEFAULT 0,
like_count BIGINT DEFAULT 0,
comment_count BIGINT DEFAULT 0,
user_id BIGINT NOT NULL,
status ENUM('draft', 'published', 'private', 'deleted') DEFAULT 'draft',
created_at BIGINT,
updated_at BIGINT
);
CREATE TABLE video_categories (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
description TEXT,
created_at BIGINT
);
CREATE TABLE video_tags (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
video_id BIGINT NOT NULL,
tag VARCHAR(50) NOT NULL,
created_at BIGINT,
FOREIGN KEY (video_id) REFERENCES videos(id) ON DELETE CASCADE
);
CREATE INDEX idx_videos_user ON videos(user_id);
CREATE INDEX idx_videos_created ON videos(created_at);
CREATE INDEX idx_videos_status ON videos(status);
CREATE INDEX idx_video_tags_video ON video_tags(video_id);
CREATE INDEX idx_video_tags_tag ON video_tags(tag);
-- 选择评论数据库并创建表
USE haiya_comment;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS comments;
CREATE TABLE comments (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
content TEXT NOT NULL,
user_id BIGINT NOT NULL,
target_id BIGINT NOT NULL,
target_type ENUM('video', 'article', 'post') NOT NULL,
parent_id BIGINT DEFAULT NULL,
reply_count INT DEFAULT 0,
like_count INT DEFAULT 0,
status ENUM('active', 'deleted') DEFAULT 'active',
created_at BIGINT,
updated_at BIGINT
);
CREATE INDEX idx_comments_target ON comments(target_id, target_type);
CREATE INDEX idx_comments_user ON comments(user_id);
CREATE INDEX idx_comments_parent ON comments(parent_id);
CREATE INDEX idx_comments_status ON comments(status);
-- 选择点赞数据库并创建表
USE haiya_like;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS likes;
CREATE TABLE likes (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
user_id BIGINT NOT NULL,
target_id BIGINT NOT NULL,
target_type ENUM('video', 'comment', 'article', 'post') NOT NULL,
created_at BIGINT
);
CREATE UNIQUE INDEX idx_likes_user_target ON likes(user_id, target_id, target_type);
CREATE INDEX idx_likes_target ON likes(target_id, target_type);
-- 选择关注数据库并创建表
USE haiya_follow;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS follows;
CREATE TABLE follows (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
follower_id BIGINT NOT NULL,
following_id BIGINT NOT NULL,
created_at BIGINT
);
CREATE UNIQUE INDEX idx_follows_unique ON follows(follower_id, following_id);
CREATE INDEX idx_follows_follower ON follows(follower_id);
CREATE INDEX idx_follows_following ON follows(following_id);
-- 选择网关服务数据库(通常不需要表)
USE haiya_gateway;
-- 选择注册中心数据库(通常不需要表)
USE haiya_registry;
-- 选择消息数据库并创建表
USE haiya_message;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS conversations;
DROP TABLE IF EXISTS messages;
CREATE TABLE messages (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
sender_id BIGINT NOT NULL,
receiver_id BIGINT NOT NULL,
content TEXT NOT NULL,
is_read BOOLEAN DEFAULT FALSE,
created_at BIGINT
);
CREATE TABLE conversations (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
user1_id BIGINT NOT NULL,
user2_id BIGINT NOT NULL,
last_message_id BIGINT,
created_at BIGINT,
updated_at BIGINT
);
CREATE INDEX idx_messages_sender ON messages(sender_id);
CREATE INDEX idx_messages_receiver ON messages(receiver_id);
CREATE INDEX idx_messages_created ON messages(created_at);
CREATE INDEX idx_conversations_user1 ON conversations(user1_id);
CREATE INDEX idx_conversations_user2 ON conversations(user2_id);
-- 选择直播数据库并创建表
USE haiya_live;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS live_room_participants;
DROP TABLE IF EXISTS live_rooms;
CREATE TABLE live_rooms (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
description TEXT,
host_id BIGINT NOT NULL,
stream_url VARCHAR(500),
viewer_count INT DEFAULT 0,
status ENUM('pending', 'live', 'ended') DEFAULT 'pending',
created_at BIGINT,
updated_at BIGINT
);
CREATE TABLE live_room_participants (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
room_id BIGINT NOT NULL,
user_id BIGINT NOT NULL,
join_time BIGINT,
leave_time BIGINT,
FOREIGN KEY (room_id) REFERENCES live_rooms(id) ON DELETE CASCADE
);
CREATE INDEX idx_live_rooms_host ON live_rooms(host_id);
CREATE INDEX idx_live_rooms_status ON live_rooms(status);
CREATE INDEX idx_live_room_participants_room ON live_room_participants(room_id);
CREATE INDEX idx_live_room_participants_user ON live_room_participants(user_id);
-- 选择推荐数据库并创建表
USE haiya_recommend;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS recommendations;
DROP TABLE IF EXISTS user_preferences;
CREATE TABLE user_preferences (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
user_id BIGINT NOT NULL,
category VARCHAR(100),
weight DOUBLE DEFAULT 1.0,
created_at BIGINT,
updated_at BIGINT
);
CREATE TABLE recommendations (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
user_id BIGINT NOT NULL,
target_id BIGINT NOT NULL,
target_type ENUM('video', 'article', 'product') NOT NULL,
score DOUBLE DEFAULT 0.0,
created_at BIGINT
);
CREATE INDEX idx_user_preferences_user ON user_preferences(user_id);
CREATE INDEX idx_recommendations_user ON recommendations(user_id);
CREATE INDEX idx_recommendations_target ON recommendations(target_id, target_type);
-- 选择搜索数据库并创建表
USE haiya_search;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS search_index;
DROP TABLE IF EXISTS search_history;
CREATE TABLE search_history (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
user_id BIGINT,
keyword VARCHAR(255) NOT NULL,
created_at BIGINT
);
CREATE TABLE search_index (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
target_id BIGINT NOT NULL,
target_type ENUM('video', 'article', 'product', 'user') NOT NULL,
title VARCHAR(255),
content TEXT,
tags TEXT,
created_at BIGINT,
updated_at BIGINT
);
CREATE INDEX idx_search_history_user ON search_history(user_id);
CREATE INDEX idx_search_history_keyword ON search_history(keyword);
CREATE INDEX idx_search_index_target ON search_index(target_id, target_type);
CREATE INDEX idx_search_index_title ON search_index(title);
-- 选择支付数据库并创建表
USE haiya_payment;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS payment_methods;
DROP TABLE IF EXISTS payments;
CREATE TABLE payments (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
order_id BIGINT NOT NULL,
user_id BIGINT NOT NULL,
amount DECIMAL(10, 2) NOT NULL,
status ENUM('pending', 'success', 'failed', 'refunded') DEFAULT 'pending',
payment_method VARCHAR(50),
transaction_id VARCHAR(255),
created_at BIGINT,
updated_at BIGINT
);
CREATE TABLE payment_methods (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
user_id BIGINT NOT NULL,
type ENUM('credit_card', 'debit_card', 'paypal', 'alipay', 'wechat') NOT NULL,
provider VARCHAR(100),
account_last_four VARCHAR(4),
is_default BOOLEAN DEFAULT FALSE,
created_at BIGINT,
updated_at BIGINT
);
CREATE INDEX idx_payments_order ON payments(order_id);
CREATE INDEX idx_payments_user ON payments(user_id);
CREATE INDEX idx_payments_status ON payments(status);
CREATE INDEX idx_payment_methods_user ON payment_methods(user_id);
-- 选择电商数据库并创建表
USE haiya_ecommerce;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS product_reviews;
DROP TABLE IF EXISTS categories;
DROP TABLE IF EXISTS products;
CREATE TABLE products (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
description TEXT,
price DECIMAL(10, 2) NOT NULL,
stock INT DEFAULT 0,
category_id BIGINT,
image_url VARCHAR(500),
status ENUM('active', 'inactive', 'deleted') DEFAULT 'active',
created_at BIGINT,
updated_at BIGINT
);
CREATE TABLE categories (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
parent_id BIGINT DEFAULT NULL,
created_at BIGINT
);
CREATE TABLE product_reviews (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
product_id BIGINT NOT NULL,
user_id BIGINT NOT NULL,
rating INT NOT NULL,
review TEXT,
created_at BIGINT,
FOREIGN KEY (product_id) REFERENCES products(id) ON DELETE CASCADE
);
CREATE INDEX idx_products_category ON products(category_id);
CREATE INDEX idx_products_status ON products(status);
CREATE INDEX idx_categories_parent ON categories(parent_id);
CREATE INDEX idx_product_reviews_product ON product_reviews(product_id);
-- 选择广告服务数据库并创建表
USE haiya_ad;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS ad_campaigns;
DROP TABLE IF EXISTS advertisements;
CREATE TABLE advertisements (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
image_url VARCHAR(500),
target_url VARCHAR(500),
position VARCHAR(100),
start_time BIGINT,
end_time BIGINT,
is_active BOOLEAN DEFAULT TRUE,
created_at BIGINT,
updated_at BIGINT
);
CREATE TABLE ad_campaigns (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
budget DECIMAL(12, 2),
start_time BIGINT,
end_time BIGINT,
status ENUM('draft', 'active', 'paused', 'completed') DEFAULT 'draft',
created_at BIGINT,
updated_at BIGINT
);
CREATE INDEX idx_advertisements_position ON advertisements(position);
CREATE INDEX idx_advertisements_active ON advertisements(is_active);
CREATE INDEX idx_ad_campaigns_status ON ad_campaigns(status);
-- 选择广告分析服务数据库并创建表
USE haiya_ad_analytics;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS ad_clicks;
DROP TABLE IF EXISTS ad_impressions;
CREATE TABLE ad_impressions (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
ad_id BIGINT NOT NULL,
user_id BIGINT,
timestamp BIGINT
);
CREATE TABLE ad_clicks (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
ad_id BIGINT NOT NULL,
user_id BIGINT,
timestamp BIGINT
);
CREATE INDEX idx_ad_impressions_ad ON ad_impressions(ad_id);
CREATE INDEX idx_ad_clicks_ad ON ad_clicks(ad_id);
-- 选择分析服务数据库并创建表
USE haiya_analytics;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS system_metrics;
DROP TABLE IF EXISTS user_activities;
CREATE TABLE user_activities (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
user_id BIGINT NOT NULL,
activity_type VARCHAR(100) NOT NULL,
target_id BIGINT,
target_type VARCHAR(50),
metadata JSON,
created_at BIGINT
);
CREATE TABLE system_metrics (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
metric_name VARCHAR(100) NOT NULL,
value DOUBLE NOT NULL,
recorded_at BIGINT
);
CREATE INDEX idx_user_activities_user ON user_activities(user_id);
CREATE INDEX idx_user_activities_type ON user_activities(activity_type);
CREATE INDEX idx_system_metrics_name ON system_metrics(metric_name);
-- 选择AR/VR服务数据库并创建表
USE haiya_ar_vr;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS ar_vr_assets;
CREATE TABLE ar_vr_assets (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
type ENUM('model', 'texture', 'shader', 'effect') NOT NULL,
url VARCHAR(500) NOT NULL,
thumbnail_url VARCHAR(500),
user_id BIGINT NOT NULL,
created_at BIGINT,
updated_at BIGINT
);
CREATE INDEX idx_ar_vr_assets_user ON ar_vr_assets(user_id);
CREATE INDEX idx_ar_vr_assets_type ON ar_vr_assets(type);
-- 选择文章服务数据库并创建表
USE haiya_article;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS article_categories;
DROP TABLE IF EXISTS articles;
CREATE TABLE articles (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
content TEXT NOT NULL,
author_id BIGINT NOT NULL,
view_count BIGINT DEFAULT 0,
like_count BIGINT DEFAULT 0,
comment_count BIGINT DEFAULT 0,
status ENUM('draft', 'published', 'archived') DEFAULT 'draft',
published_at BIGINT,
created_at BIGINT,
updated_at BIGINT
);
CREATE TABLE article_categories (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
created_at BIGINT
);
CREATE INDEX idx_articles_author ON articles(author_id);
CREATE INDEX idx_articles_status ON articles(status);
-- 选择音频服务数据库并创建表
USE haiya_audio;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS audio_files;
CREATE TABLE audio_files (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
description TEXT,
url VARCHAR(500) NOT NULL,
duration INT,
user_id BIGINT NOT NULL,
status ENUM('draft', 'published', 'private') DEFAULT 'draft',
created_at BIGINT,
updated_at BIGINT
);
CREATE INDEX idx_audio_files_user ON audio_files(user_id);
CREATE INDEX idx_audio_files_status ON audio_files(status);
-- 选择商业智能服务数据库并创建表
USE haiya_bi;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS bi_reports;
CREATE TABLE bi_reports (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
description TEXT,
query_text TEXT,
created_by BIGINT NOT NULL,
created_at BIGINT,
updated_at BIGINT
);
CREATE INDEX idx_bi_reports_creator ON bi_reports(created_by);
-- 选择相机服务数据库并创建表
USE haiya_camera;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS camera_photos;
CREATE TABLE camera_photos (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255),
url VARCHAR(500) NOT NULL,
user_id BIGINT NOT NULL,
width INT,
height INT,
captured_at BIGINT,
created_at BIGINT
);
CREATE INDEX idx_camera_photos_user ON camera_photos(user_id);
-- 选择活动服务数据库并创建表
USE haiya_campaign;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS campaigns;
CREATE TABLE campaigns (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
description TEXT,
start_time BIGINT,
end_time BIGINT,
status ENUM('draft', 'active', 'completed', 'cancelled') DEFAULT 'draft',
created_by BIGINT NOT NULL,
created_at BIGINT,
updated_at BIGINT
);
CREATE INDEX idx_campaigns_status ON campaigns(status);
CREATE INDEX idx_campaigns_creator ON campaigns(created_by);
-- 选择购物车服务数据库并创建表
USE haiya_cart;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS cart_items;
DROP TABLE IF EXISTS carts;
CREATE TABLE carts (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
user_id BIGINT NOT NULL,
created_at BIGINT,
updated_at BIGINT
);
CREATE TABLE cart_items (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
cart_id BIGINT NOT NULL,
product_id BIGINT NOT NULL,
quantity INT NOT NULL,
added_at BIGINT,
FOREIGN KEY (cart_id) REFERENCES carts(id) ON DELETE CASCADE
);
CREATE INDEX idx_carts_user ON carts(user_id);
CREATE INDEX idx_cart_items_cart ON cart_items(cart_id);
-- 选择内容安全服务数据库并创建表
USE haiya_content_security;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS content_reviews;
CREATE TABLE content_reviews (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
content_id BIGINT NOT NULL,
content_type ENUM('video', 'article', 'image', 'comment') NOT NULL,
reviewer_id BIGINT,
`status` ENUM('pending', 'approved', 'rejected') DEFAULT 'pending',
reason TEXT,
reviewed_at BIGINT,
created_at BIGINT
);
CREATE INDEX idx_content_reviews_content ON content_reviews(content_id, content_type);
CREATE INDEX idx_content_reviews_status ON content_reviews(`status`);
-- 选择版权服务数据库并创建表
USE haiya_copyright;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS copyright_claims;
CREATE TABLE copyright_claims (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
content_id BIGINT NOT NULL,
content_type ENUM('video', 'article', 'image', 'audio') NOT NULL,
claimant_id BIGINT NOT NULL,
description TEXT NOT NULL,
status ENUM('pending', 'approved', 'rejected') DEFAULT 'pending',
created_at BIGINT,
updated_at BIGINT
);
CREATE INDEX idx_copyright_claims_content ON copyright_claims(content_id, content_type);
CREATE INDEX idx_copyright_claims_claimant ON copyright_claims(claimant_id);
-- 选择创作者工具服务数据库并创建表
USE haiya_creator_tools;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS creator_projects;
CREATE TABLE creator_projects (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
description TEXT,
user_id BIGINT NOT NULL,
status ENUM('draft', 'in_progress', 'completed') DEFAULT 'draft',
created_at BIGINT,
updated_at BIGINT
);
CREATE INDEX idx_creator_projects_user ON creator_projects(user_id);
CREATE INDEX idx_creator_projects_status ON creator_projects(status);
-- 选择仪表板服务数据库并创建表
USE haiya_dashboard;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS dashboard_widgets;
CREATE TABLE dashboard_widgets (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
user_id BIGINT NOT NULL,
name VARCHAR(100) NOT NULL,
type VARCHAR(50) NOT NULL,
config JSON,
position INT,
created_at BIGINT,
updated_at BIGINT
);
CREATE INDEX idx_dashboard_widgets_user ON dashboard_widgets(user_id);
-- 选择数据收集服务数据库并创建表
USE haiya_data_collector;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS collected_data;
CREATE TABLE collected_data (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
source VARCHAR(100) NOT NULL,
data_type VARCHAR(100) NOT NULL,
content JSON,
collected_at BIGINT
);
CREATE INDEX idx_collected_data_source ON collected_data(source);
CREATE INDEX idx_collected_data_type ON collected_data(data_type);
-- 选择数据仓库服务数据库并创建表
USE haiya_data_warehouse;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS warehouse_tables;
CREATE TABLE warehouse_tables (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
schema_definition JSON,
row_count BIGINT DEFAULT 0,
created_at BIGINT,
updated_at BIGINT
);
CREATE INDEX idx_warehouse_tables_name ON warehouse_tables(name);
-- 选择数据库分片服务数据库并创建表
USE haiya_database_sharding;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS sharding_configs;
CREATE TABLE sharding_configs (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
table_name VARCHAR(100) NOT NULL,
sharding_strategy VARCHAR(50) NOT NULL,
shard_count INT NOT NULL,
created_at BIGINT,
updated_at BIGINT
);
-- 选择分布式事务服务数据库并创建表
USE haiya_distributed_transaction;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS transaction_participants;
DROP TABLE IF EXISTS transactions;
CREATE TABLE transactions (
id VARCHAR(64) PRIMARY KEY,
`status` ENUM('pending', 'committed', 'rolled_back') NOT NULL,
created_at BIGINT,
updated_at BIGINT
);
CREATE TABLE transaction_participants (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
transaction_id VARCHAR(64) NOT NULL,
service_name VARCHAR(100) NOT NULL,
`status` ENUM('prepared', 'committed', 'rolled_back') NOT NULL,
FOREIGN KEY (transaction_id) REFERENCES transactions(id) ON DELETE CASCADE
);
CREATE INDEX idx_transaction_participants_tx ON transaction_participants(transaction_id);
-- 选择编辑器服务数据库并创建表
USE haiya_editor;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS editor_documents;
CREATE TABLE editor_documents (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
content JSON,
user_id BIGINT NOT NULL,
`status` ENUM('draft', 'published') DEFAULT 'draft',
created_at BIGINT,
updated_at BIGINT
);
CREATE INDEX idx_editor_documents_user ON editor_documents(user_id);
CREATE INDEX idx_editor_documents_status ON editor_documents(`status`);
-- 选择特效服务数据库并创建表
USE haiya_effect;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS effects;
CREATE TABLE effects (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
description TEXT,
type ENUM('filter', 'transition', 'overlay') NOT NULL,
url VARCHAR(500),
thumbnail_url VARCHAR(500),
user_id BIGINT NOT NULL,
created_at BIGINT,
updated_at BIGINT
);
CREATE INDEX idx_effects_user ON effects(user_id);
CREATE INDEX idx_effects_type ON effects(type);
-- 选择特征工程服务数据库并创建表
USE haiya_feature_engineering;
-- 删除已存在的表和索引(如果存在)
DROP TABLE IF EXISTS features;
CREATE TABLE features (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
description TEXT,
data_type VARCHAR(50) NOT NULL,
config JSON,
created_at BIGINT,
updated_at BIGINT
);
-- 选择礼物服务数据库并创建表
USE haiya_gift;