this_env/env/
migrate_schema.rs1use rusqlite::{Connection, Result as SqlResult};
3pub fn migrate_schema(conn: &Connection) -> SqlResult<()> {
4 conn.execute(
5 "CREATE TABLE IF NOT EXISTS env (
6 domain TEXT PRIMARY KEY,
7 id TEXT NOT NULL,
8 env_type TEXT NOT NULL,
9 trust TEXT NOT NULL,
10 parent TEXT
11 )",
12 [],
13 )?;
14 conn.execute(
15 "CREATE TABLE IF NOT EXISTS metadata (
16 domain TEXT,
17 key TEXT,
18 value TEXT,
19 PRIMARY KEY (domain, key)
20 )",
21 [],
22 )?;
23 conn.execute(
24 "CREATE TABLE IF NOT EXISTS routes (
25 domain TEXT,
26 path TEXT,
27 hit_count INTEGER,
28 last_seen TEXT,
29 PRIMARY KEY (domain, path)
30 )",
31 [],
32 )?;
33 conn.execute(
34 "CREATE TABLE IF NOT EXISTS route_metadata (
35 domain TEXT,
36 path TEXT,
37 key TEXT,
38 value TEXT,
39 PRIMARY KEY (domain, path, key)
40 )",
41 [],
42 )?;
43 conn.execute(
44 "CREATE TABLE IF NOT EXISTS endorsements (
45 domain TEXT,
46 endorser TEXT,
47 approved INTEGER,
48 timestamp INTEGER,
49 PRIMARY KEY (domain, endorser)
50 )",
51 [],
52 )?;
53 Ok(())
54}