formies/backend/src/db.rs

29 lines
730 B
Rust
Raw Normal View History

2024-12-27 14:05:56 +01:00
use rusqlite::{Connection, Result};
pub fn init_db() -> Result<Connection> {
let conn = Connection::open("form_data.db")?;
conn.execute(
"CREATE TABLE IF NOT EXISTS forms (
id TEXT PRIMARY KEY,
name TEXT NOT NULL,
fields TEXT NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
)",
[],
)?;
conn.execute(
"CREATE TABLE IF NOT EXISTS submissions (
id TEXT PRIMARY KEY,
form_id TEXT NOT NULL,
data TEXT NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (form_id) REFERENCES forms (id) ON DELETE CASCADE
)",
[],
)?;
Ok(conn)
}