diff --git a/migrations/2025-04-03-134446_token_map/down.sql b/migrations/2025-04-03-134446_token_map/down.sql new file mode 100644 index 0000000..4a2d51d --- /dev/null +++ b/migrations/2025-04-03-134446_token_map/down.sql @@ -0,0 +1 @@ +DROP TABLE IF EXISTS literals; diff --git a/migrations/2025-04-03-134446_token_map/up.sql b/migrations/2025-04-03-134446_token_map/up.sql new file mode 100644 index 0000000..d813452 --- /dev/null +++ b/migrations/2025-04-03-134446_token_map/up.sql @@ -0,0 +1,5 @@ +CREATE TABLE literals ( + id SERIAL PRIMARY KEY, + token VARCHAR(255) UNIQUE NOT NULL, + value TEXT +); diff --git a/src/db/models.rs b/src/db/models.rs index f03860b..587bff6 100644 --- a/src/db/models.rs +++ b/src/db/models.rs @@ -5,6 +5,14 @@ use diesel::prelude::*; +#[derive(Queryable, Debug)] +#[diesel(table_name = literals)] +pub struct Literal { + pub id: i32, + pub token: String, + pub value: Option, +} + #[derive(Queryable, Debug)] #[diesel(table_name = messages)] pub struct Message { diff --git a/src/db/schema.rs b/src/db/schema.rs index 22ea5b7..83e8c2d 100644 --- a/src/db/schema.rs +++ b/src/db/schema.rs @@ -1,5 +1,14 @@ // @generated automatically by Diesel CLI. +diesel::table! { + literals (id) { + id -> Int4, + #[max_length = 255] + token -> Varchar, + value -> Nullable, + } +} + diesel::table! { messages (id) { id -> Int4, @@ -18,6 +27,7 @@ diesel::table! { } diesel::allow_tables_to_appear_in_same_query!( + literals, messages, users, );