From d746e95b9eb3d78aa53b99ad2ca12a34db11d02f Mon Sep 17 00:00:00 2001 From: Raphael Date: Thu, 12 Feb 2026 23:20:33 +0100 Subject: [PATCH] feat(main): now database is connected at the start of the app --- src/main.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/main.rs b/src/main.rs index 5cfb24c..a9bfddd 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,20 +3,43 @@ mod events; use events::Bot; use serenity::all::*; +use sqlx::postgres::PgPoolOptions; +use sqlx::{ + Pool, Postgres, migrate +}; use std::env; #[tokio::main] async fn main() { + println!("\n"); dotenvy::dotenv().ok(); let token: String = env::var("DISCORD_TOKEN").expect("❌ | DISCORD_TOKEN missing (check the env file)"); + let database_url: String = + env::var("DATABASE_URL").expect("❌ | DATABASE_URL missing (check the env file)"); + + let db: Pool = PgPoolOptions::new() + .max_connections(5) + .connect(&database_url) + .await + .expect("❌ | Failed to connect to PostgreSQL"); + println!("✅ | Connected to PostgreSQL"); + + migrate!("./migrations") + .run(&db) + .await + .expect("❌ | Failed to run migrations"); + println!("✅ | Migrations applied\n"); + + let intents: GatewayIntents = GatewayIntents::default(); let bot: Bot = Bot { commands: commands::import(), events: events::import(), + database: db, }; let mut client: Client = Client::builder(&token, intents)