Let me preface this by stating Im new to server side development and relatively new to Rust. Im trying to connect my DB that I have set up in PG to my rust code using sqlx but I keep getting an error that states that the port number is invalid:
error with configuration: invalid port number
--> tutor-db/src/bin/iter1.rs:22:23
let course_rows = sqlx::query!(
| _____________________ ^
| | r#"select course_id, tutor_id, course_id, posted_time
| | from ezy_course_c4 where course_id = $1"#,
| | 1
| | )
| |_____^
|
my dbPath
DATABASE_URL=postgres://{{MY_USER_NAME}}:{{MY_PASSWORD}}@127.0.0.1:5432/{{MY_DB}}
my file that's using sqlx to connect, I know its not optimal code but im using this to learn:
use chrono::NaiveDateTime;
use dotenv::dotenv;
use sqlx::postgres::PgPool;
use std::env;
use std::io;
#[derive(Debug)]
pub struct Course {
pub course_id: i32,
pub tutor_id: i32,
pub course_name: String,
pub posted_time: Option<NaiveDateTime>,
}
#[actix_rt::main]
async fn main() -> io::Result<()> {
dotenv().ok();
let database_url = env::var("DATABASE_URL").expect("DATABASE_URL is not set in the .env file");
let database_pool = PgPool::connect(&database_url).await.unwrap();
let course_rows = sqlx::query!(
r#"select course_id, tutor_id, course_id, posted_time
from ezy_course_c4 where course_id = $1"#,
1
)
.fetch_all(&database_pool)
.await
.unwrap();
let mut course_list = vec![];
for course in course_rows {
course_list.push(Course {
course_id: course_rows.course_id,
tutor_id: course_rows.tutor_id,
course_name: course_rows.course_name,
posted_time: Some(chrono::NaiveDateTime::from(
course_rows.posted_time.unwrap(),
)),
})
}
println!("Course = {:?}", course_list);
Ok(())
}
Any help is appreciate. if any more information is needed from me please let me know