я обязательно победю

master
Алексей Алексей 2026-05-14 18:45:15 +10:00
parent b23537af78
commit c92819cda9
5 changed files with 20 additions and 14 deletions

1
code/Cargo.lock generated
View File

@ -728,6 +728,7 @@ dependencies = [
name = "code"
version = "0.1.0"
dependencies = [
"anyhow",
"chrono",
"dotenv",
"eframe",

View File

@ -4,6 +4,7 @@ version = "0.1.0"
edition = "2024"
[dependencies]
anyhow = "1.0.102"
chrono = { version = "0.4.44", features = ["serde"] }
dotenv = "0.15.0"
eframe = "0.34.2"
@ -11,7 +12,7 @@ egui = "0.34.2"
egui_dock = "0.19.1"
egui_extras = "0.34.2"
rust_decimal = {version = "1.42.0", features = ["macros"]}
sqlx = {version="0.8.6", features = ["runtime-tokio"]}
sqlx = {version="0.8.6", features = ["runtime-tokio", "mysql"]}
[target.'cfg(target_os="windows")'.dependencies]
eframe = {version ="0.34.2",default-features=false, features=["glow"]}

View File

@ -1,9 +1,12 @@
use sqlx::MySqlConnection;
use sqlx::mysql::MySqlPoolOptions;
use sqlx:mysql::MySqlPool;
use sqlx::mysql::MySqlPool;
use sqlx::Connection;
use dotenv::dotenv;
// use crate::schema::equipment::dsl::*;
// use crate::schema::worker::dsl::*;
use crate::models::*;
struct DBOperator{
connection_string: String,
@ -13,25 +16,26 @@ impl DBOperator{
dotenv().ok();
let db_url = dotenv::var("DATABASE_URL").expect("DATABASE_URL установи!");
Self{connection_string:db_url}
}
pub fn get_all(&self, from: String){
let pool = MySqlPool::connect(&self.connection_string);
let ret = sqlx::query("SELECT * FROM ?")
.bind(from)
.fetch(pool);
}
}
async fn get_position(pool: &MySqlPool) -> anyhow::Result<()>{
let rets = sqlx::query!(r#"SELECT * FROM position"#)
.fetch_all(*pool)
.await?;
Ok(())
}
pub async fn estabilish_connection() -> Result<(), sqlx::Error>{
dotenv().ok();
let db_url = dotenv::var("DATABASE_URL").expect("DATABASE_URL установи!");
let pool = MySqlPoolOptions::new()
.max_connections(5)
.connect(db_url).await?;
.connect(&db_url).await?;
Ok(())
}
pub fn get_positions() -> std::vec::Vec<crate::models::Position>{
todo!()
}

View File

@ -4,7 +4,7 @@ mod models;
mod database;
// mod schema;
fn main() -> eframe::Result{
database::estabilish_connection();
// database::estabilish_connection();
let native_opts = eframe::NativeOptions {
viewport: egui::ViewportBuilder::default()
.with_inner_size([400.0,300.0])

View File

@ -1,5 +1,5 @@
#[derive(Default, Clone, Hash)]
#[derive(Default, Clone, Hash, sqlx::FromRow)]
pub struct Position{
id: i32,
name: String,