From 21f875bad7be63e3eee37ffc996dae6471da31a1 Mon Sep 17 00:00:00 2001 From: DmitroPodolsky Date: Thu, 15 Feb 2024 16:53:18 +0200 Subject: [PATCH] feat: db creation --- src/db.rs | 36 ++++++++++++++++++++++++++++++++++++ src/main.rs | 4 ++++ 2 files changed, 40 insertions(+) diff --git a/src/db.rs b/src/db.rs index e69de29..0474038 100644 --- a/src/db.rs +++ b/src/db.rs @@ -0,0 +1,36 @@ +use rusqlite::Connection; + +pub fn create_db() { + let conn = Connection::open("your_database.db").expect("Failed to open database"); + + conn.execute( + "CREATE TABLE IF NOT EXISTS users ( + id INTEGER PRIMARY KEY AUTOINCREMENT + )", + [], + ).expect("Failed to create users table"); + + conn.execute( + "CREATE TABLE IF NOT EXISTS category ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL + )", + [], + ).expect("Failed to create category table"); + + conn.execute( + "CREATE TABLE IF NOT EXISTS homework_hub ( + name TEXT PRIMARY KEY, + desc TEXT NOT NULL, + deadline DATE, + date_created TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + category_id INTEGER, + user_id INTEGER, + FOREIGN KEY (category_id) REFERENCES category(id), + FOREIGN KEY (user_id) REFERENCES users(id) + )", + [], + ).expect("Failed to create homework_hub table"); + + log::info!("created database successfully!"); +} \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index f5c4047..c42a9c0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,10 +1,14 @@ pub mod bot; +pub mod db; + +use db::create_db; use bot::*; use teloxide::{dispatching::dialogue::InMemStorage, prelude::*}; #[tokio::main] async fn main() { log::info!("Starting dialogue bot..."); + create_db(); pretty_env_logger::init(); let bot = Bot::from_env();