Browse Source

Insert and delete

master
Julio Biason 3 years ago
parent
commit
c64a45f49e
  1. 4
      sqlxtest/db/migrations/202105261221_create_table.sql
  2. 23
      sqlxtest/src/main.rs

4
sqlxtest/db/migrations/202105261221_create_table.sql

@ -1,5 +1,5 @@
-- Create table
CREATE TABLE testing (
id TEXT PRIMARY KEY,
label TEXT
id INTEGER NOT NULL PRIMARY KEY,
label TEXT NOT NULL
)

23
sqlxtest/src/main.rs

@ -1,9 +1,10 @@
use sqlx::sqlite::SqliteConnectOptions;
use sqlx::sqlite::SqlitePoolOptions;
use std::env;
#[tokio::main]
async fn main() -> Result<(), sqlx::Error> {
println!("Open");
println!("Open database");
let pool = SqlitePoolOptions::new()
.connect_with(
SqliteConnectOptions::new()
@ -11,8 +12,24 @@ async fn main() -> Result<(), sqlx::Error> {
.create_if_missing(true),
)
.await?;
println!("Migrate");
sqlx::migrate!("db/migrations").run(&pool).await?;
println!("Done");
let command = env::args().nth(1).unwrap();
println!("Command: \"{}\"", command);
if command == "add" {
let value = env::args().nth(2).unwrap();
println!("Should add \"{}\"", value);
sqlx::query(r#"INSERT INTO testing (label) VALUES (?)"#)
.bind(value)
.execute(&pool)
.await?;
} else if command == "remove" {
let value = env::args().nth(2).unwrap();
println!("Should remove \"{}\"", value);
sqlx::query(r#"DELETE FROM testing WHERE label = ?"#)
.bind(value)
.execute(&pool)
.await?;
}
Ok(())
}

Loading…
Cancel
Save