fix(mysql): route tenant data to physical shard tables

This commit is contained in:
richjohnrambo
2026-09-22 16:11:10 +08:00
parent 76b462e334
commit b8c93e8d6a
2 changed files with 14 additions and 10 deletions
+4 -4
View File
@@ -56,7 +56,7 @@ func TestEnsureIMGroupBusinessTablesUsesSelectedTenantDatabase(t *testing.T) {
}
func TestGroupMessageShardTableRejectsUnsafeMonth(t *testing.T) {
if table, ok := groupMessageShardTable(1, "202609"); !ok || table != "im_group_messages_202609" {
if table, ok := groupMessageShardTable(1, "202609"); !ok || table != "im_001_group_messages_202609" {
t.Fatalf("unexpected valid shard: table=%q ok=%v", table, ok)
}
for _, month := range []string{"", "20269", "202613", "2026_09", "202609;DROP TABLE im_users"} {
@@ -73,9 +73,9 @@ func TestTenantPartitionTableNames(t *testing.T) {
messages string
group string
}{
{tenantID: 1, friends: "im_friendships", messages: "im_messages", group: "im_group_messages_202609"},
{tenantID: 10, friends: "im_friendships", messages: "im_messages", group: "im_group_messages_202609"},
{tenantID: 1000, friends: "im_friendships", messages: "im_messages", group: "im_group_messages_202609"},
{tenantID: 1, friends: "im_001_friendships", messages: "im_001_messages", group: "im_001_group_messages_202609"},
{tenantID: 10, friends: "im_010_friendships", messages: "im_010_messages", group: "im_010_group_messages_202609"},
{tenantID: 1000, friends: "im_1000_friendships", messages: "im_1000_messages", group: "im_1000_group_messages_202609"},
}
for _, tc := range tests {
if got := tenantFriendshipsTable(tc.tenantID); got != tc.friends {