diff --git a/gpodder_sqlite/Cargo.toml b/gpodder_sqlite/Cargo.toml index f14c90e..75620b8 100644 --- a/gpodder_sqlite/Cargo.toml +++ b/gpodder_sqlite/Cargo.toml @@ -15,8 +15,15 @@ tracing = { workspace = true } chrono = { workspace = true, features = ["serde"] } libsqlite3-sys = { version = "0.31.0", features = ["bundled"] } -diesel = { version = "2.2.7", features = ["r2d2", "sqlite", "returning_clauses_for_sqlite_3_35"] } diesel_migrations = { version = "2.2.0", features = ["sqlite"] } +[dependencies.diesel] +version = "2.2.7" +features = [ + "r2d2", + "sqlite", + "returning_clauses_for_sqlite_3_35", +] + [dev-dependencies] criterion = "0.5.1" diff --git a/gpodder_sqlite/migrations/2025-07-02-080351_signup_links/down.sql b/gpodder_sqlite/migrations/2025-07-02-080351_signup_links/down.sql new file mode 100644 index 0000000..e85c318 --- /dev/null +++ b/gpodder_sqlite/migrations/2025-07-02-080351_signup_links/down.sql @@ -0,0 +1,2 @@ +-- This file should undo anything in `up.sql` +drop table signup_links; diff --git a/gpodder_sqlite/migrations/2025-07-02-080351_signup_links/up.sql b/gpodder_sqlite/migrations/2025-07-02-080351_signup_links/up.sql new file mode 100644 index 0000000..0b31f53 --- /dev/null +++ b/gpodder_sqlite/migrations/2025-07-02-080351_signup_links/up.sql @@ -0,0 +1,5 @@ +-- Your SQL goes here +create table signup_links ( + id bigint primary key not null, + created_at bigint not null +); diff --git a/gpodder_sqlite/src/models/mod.rs b/gpodder_sqlite/src/models/mod.rs index 8e6ebf9..7fe7f2c 100644 --- a/gpodder_sqlite/src/models/mod.rs +++ b/gpodder_sqlite/src/models/mod.rs @@ -2,5 +2,6 @@ pub mod device; pub mod device_subscription; pub mod episode_action; pub mod session; +pub mod signup_link; pub mod sync_group; pub mod user; diff --git a/gpodder_sqlite/src/models/signup_link.rs b/gpodder_sqlite/src/models/signup_link.rs new file mode 100644 index 0000000..7f68b07 --- /dev/null +++ b/gpodder_sqlite/src/models/signup_link.rs @@ -0,0 +1,11 @@ +use diesel::prelude::*; + +use crate::schema::*; + +#[derive(Clone, Queryable, Selectable, Insertable)] +#[diesel(table_name = signup_links)] +#[diesel(check_for_backend(diesel::sqlite::Sqlite))] +pub struct SignupLink { + pub id: i64, + pub created_at: i64, +} diff --git a/gpodder_sqlite/src/schema.rs b/gpodder_sqlite/src/schema.rs index 438a63d..f8402ed 100644 --- a/gpodder_sqlite/src/schema.rs +++ b/gpodder_sqlite/src/schema.rs @@ -47,6 +47,13 @@ diesel::table! { } } +diesel::table! { + signup_links (id) { + id -> BigInt, + created_at -> BigInt, + } +} + diesel::table! { sync_groups (id) { id -> BigInt, @@ -74,6 +81,7 @@ diesel::allow_tables_to_appear_in_same_query!( devices, episode_actions, sessions, + signup_links, sync_groups, users, );