fix(schema): Change message_index from Int8 to Int4 (i64 to i32)
All checks were successful
BotServer CI/CD / build (push) Successful in 4m18s

This commit is contained in:
Rodrigo Rodriguez (Pragmatismo) 2026-04-16 10:47:39 -03:00
parent 57accc0deb
commit de418e8fa7
5 changed files with 7 additions and 7 deletions

View file

@ -312,7 +312,7 @@ async fn save_message_to_history(
message_history::role.eq(if sender_clone == "user" { 1 } else { 2 }),
message_history::content_encrypted.eq(content_clone),
message_history::message_type.eq(1),
message_history::message_index.eq(0i64),
message_history::message_index.eq(0i32),
message_history::created_at.eq(diesel::dsl::now),
))
.execute(&mut db_conn)

View file

@ -235,11 +235,11 @@ impl SessionManager {
msg_type: i32,
) -> Result<(), Box<dyn Error + Send + Sync>> {
use crate::core::shared::models::message_history::dsl::*;
let next_index = message_history
let next_index: i32 = message_history
.filter(session_id.eq(sess_id))
.count()
.get_result::<i64>(&mut self.conn)
.unwrap_or(0);
.unwrap_or(0) as i32;
diesel::insert_into(message_history)
.values((
id.eq(Uuid::new_v4()),
@ -346,7 +346,7 @@ impl SessionManager {
.filter(session_id.eq(sess_id))
.order(message_index.asc())
.select((role, content_encrypted, message_index))
.load::<(i32, String, i64)>(&mut self.conn)?;
.load::<(i32, String, i32)>(&mut self.conn)?;
// Get last N message pairs to ensure user/assistant alternation
// Each "turn" is 2 messages (user + assistant), so we need 2 * limit_val messages

View file

@ -136,7 +136,7 @@ pub struct MessageHistory {
pub role: i32,
pub content_encrypted: String,
pub message_type: i32,
pub message_index: i64,
pub message_index: i32,
pub created_at: DateTime<Utc>,
}

View file

@ -125,7 +125,7 @@ diesel::table! {
role -> Int4,
content_encrypted -> Text,
message_type -> Int4,
message_index -> Int8,
message_index -> Int4,
created_at -> Timestamptz,
}
}

View file

@ -1410,7 +1410,7 @@ async fn save_message_to_history(
message_history::role.eq(if sender_clone == "user" { 1 } else { 2 }),
message_history::content_encrypted.eq(content_clone),
message_history::message_type.eq(1),
message_history::message_index.eq(0i64),
message_history::message_index.eq(0i32),
message_history::created_at.eq(diesel::dsl::now),
))
.execute(&mut db_conn)