Skip to content

Commit d6bdf17

Browse files
committed
fix: incremental export
1 parent 9b7382c commit d6bdf17

File tree

3 files changed

+8
-5
lines changed

3 files changed

+8
-5
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"packageManager": "[email protected]",
66
"scripts": {
77
"build": "pnpm -r build",
8-
"dev": "pnpm -r dev",
8+
"dev:db": "pnpm -F @tg-search/db dev",
99
"dev:cli": "pnpm -F @tg-search/cli dev",
1010
"lint": "pnpm -r lint",
1111
"lint:fix": "pnpm -r lint:fix",

packages/cli/src/commands/export.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ async function processDatabaseBatch(
3737

3838
logger.debug(
3939
`已保存 ${startIndex + 1} - ${startIndex + messages.length} 条消息 `
40-
+ `(${new Date(firstMessage.createdAt).toLocaleString()} - ${new Date(lastMessage.createdAt).toLocaleString()})`,
40+
+ `(ID: ${firstMessage.id} - ${lastMessage.id})`,
4141
)
4242

4343
// If any message already exists, stop the export

packages/db/src/models/message.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -218,19 +218,22 @@ export async function updateMessageEmbeddings(chatId: number, updates: Array<{ i
218218
/**
219219
* Check for duplicate messages in a range
220220
*/
221-
export async function checkDuplicateMessages(chatId: number, startId: number, endId: number): Promise<{
221+
export async function checkDuplicateMessages(chatId: number, id1: number, id2: number): Promise<{
222222
actualCount: number
223223
expectedCount: number
224224
}> {
225225
const contentTable = createMessageContentTable(chatId)
226+
const minId = Math.min(id1, id2)
227+
const maxId = Math.max(id1, id2)
228+
226229
const [result] = await useDB()
227230
.select({ count: sql<number>`count(*)` })
228231
.from(contentTable)
229-
.where(sql`id >= ${startId} AND id <= ${endId}`)
232+
.where(sql`id >= ${minId} AND id <= ${maxId} AND chat_id = ${chatId}`)
230233

231234
return {
232235
actualCount: Number(result.count),
233-
expectedCount: endId - startId + 1,
236+
expectedCount: Math.abs(id2 - id1) + 1,
234237
}
235238
}
236239

0 commit comments

Comments
 (0)