29 lines
730 B
Rust
29 lines
730 B
Rust
|
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)
|
||
|
}
|