diff options
author | Vincent Ambo <mail@tazj.in> | 2023-01-18T15·23+0300 |
---|---|---|
committer | tazjin <tazjin@tvl.su> | 2023-01-18T15·44+0000 |
commit | 476e312c06213e53757349a93cc7f855889bc61c (patch) | |
tree | de6770c6a8a806909ea69424294e783559c3de97 /corp/russian/data-import/src/db_setup.rs | |
parent | dc55ea320101282f200c0117ebdf7033f3bae927 (diff) |
feat(corp/data-import): parse and import links r/5691
Change-Id: Iebdbc8f884f28064d7b00b8f8808b5030fa3d05c Reviewed-on: https://cl.tvl.fyi/c/depot/+/7864 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
Diffstat (limited to 'corp/russian/data-import/src/db_setup.rs')
-rw-r--r-- | corp/russian/data-import/src/db_setup.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/corp/russian/data-import/src/db_setup.rs b/corp/russian/data-import/src/db_setup.rs index d85374dfa8dd..5959ad09e5d6 100644 --- a/corp/russian/data-import/src/db_setup.rs +++ b/corp/russian/data-import/src/db_setup.rs @@ -56,6 +56,17 @@ CREATE TABLE link_types ( name TEXT ) STRICT; +-- table for links between lemmata +CREATE TABLE links ( + id INTEGER PRIMARY KEY, + link_type INTEGER NOT NULL, + from_lemma INTEGER NOT NULL, + to_lemma INTEGER NOT NULL, + FOREIGN KEY(link_type) REFERENCES link_types(id), + FOREIGN KEY(from_lemma) REFERENCES lemmas(id), + FOREIGN KEY(to_lemma) REFERENCES lemmas(id) +) STRICT; + "#, ) .ensure("setting up initial table schema failed"); @@ -92,6 +103,19 @@ pub fn insert_oc_element(conn: &Connection, elem: OcElement) { info!("inserted link type {}", lt.name); } + + OcElement::Link(link) => { + let mut stmt = conn + .prepare_cached( + "INSERT INTO links (id, link_type, from_lemma, to_lemma) VALUES (?1, ?2, ?3, ?4)", + ) + .ensure("failed to prepare link statement"); + + stmt.execute((&link.id, &link.link_type, &link.from, &link.to)) + .ensure("failed to insert link"); + + debug!("inserted link {}", link.id); + } } } |