From: Shane Jaroch Date: Wed, 30 Sep 2020 06:04:43 +0000 (-0400) Subject: start adding FK constraint fixes X-Git-Tag: 0.0.7~2 X-Git-Url: https://git.nutra.tk/v1?a=commitdiff_plain;h=eb723c9bbd8d6b9dcb8c204904f2e10dbcaf2e22;p=nutratech%2Fusda-sqlite.git start adding FK constraint fixes --- diff --git a/sql/import.sql b/sql/import.sql index 8716ce4..4f90795 100644 --- a/sql/import.sql +++ b/sql/import.sql @@ -14,6 +14,8 @@ -- You should have received a copy of the GNU General Public License -- along with this program. If not, see . +PRAGMA foreign_keys = 1; + .mode csv .import '| tail -n +2 version.csv' version @@ -25,19 +27,29 @@ .import '| tail -n +2 ../data/nt/src_cd.csv' src_cd .import '| tail -n +2 ../data/nt/deriv_cd.csv' deriv_cd -.import '| tail -n +2 ../data/nt/nut_data.csv' nut_data +PRAGMA foreign_keys = 0; +.import '| tail -n +2 ../data/nt/nut_data.csv' nut_data +UPDATE nut_data SET src_cd=NULL WHERE src_cd=''; +UPDATE nut_data SET deriv_cd=NULL WHERE deriv_cd=''; +PRAGMA foreign_keys = 1; .import '| tail -n +2 ../data/nt/lang_desc.csv' lang_desc .import '| tail -n +2 ../data/nt/langual.csv' langual .import '| tail -n +2 ../data/nt/data_src.csv' data_src +-- TODO: fix "INSERT failed: FOREIGN KEY constraint failed" +PRAGMA foreign_keys = 0; .import '| tail -n +2 ../data/nt/datsrcln.csv' datsrcln +PRAGMA foreign_keys = 1; .import '| tail -n +2 ../data/nt/serv_desc.csv' serv_desc .import '| tail -n +2 ../data/nt/serving.csv' serving +PRAGMA foreign_keys = 0; .import '| tail -n +2 ../data/nt/footnote.csv' footnote +UPDATE nut_data SET nutr_id=NULL WHERE nutr_id=''; +PRAGMA foreign_keys = 1; .header on .mode column diff --git a/sql/tables.sql b/sql/tables.sql index 644f18f..9196e3c 100644 --- a/sql/tables.sql +++ b/sql/tables.sql @@ -14,7 +14,7 @@ -- You should have received a copy of the GNU General Public License -- along with this program. If not, see . -CREATE TABLE version( id integer PRIMARY KEY AUTOINCREMENT, version text NOT NULL, created timestamp DEFAULT CURRENT_TIMESTAMP +CREATE TABLE version( id integer PRIMARY KEY AUTOINCREMENT, version text NOT NULL, created timestamp DEFAULT CURRENT_TIMESTAMP, notes text ); CREATE TABLE nutr_def ( diff --git a/sql/version.csv b/sql/version.csv index 16ea0eb..382a98b 100644 --- a/sql/version.csv +++ b/sql/version.csv @@ -1,8 +1,9 @@ -id,version,created -1,0.0.0,Wed 05 Aug 2020 07:09:35 PM EDT -2,0.0.1,Wed 05 Aug 2020 08:14:52 PM EDT -3,0.0.2,Thu 06 Aug 2020 11:39:54 AM EDT -4,0.0.3,Tue 11 Aug 2020 09:37:50 PM EDT -5,0.0.4,Mon 07 Sep 2020 10:01:45 AM EDT -6,0.0.5,Sat 19 Sep 2020 04:28:24 PM EDT -7,0.0.6,Tue 29 Sep 2020 07:22:23 PM EDT +id,version,created,notes +1,0.0.0,Wed 05 Aug 2020 07:09:35 PM EDT, +2,0.0.1,Wed 05 Aug 2020 08:14:52 PM EDT, +3,0.0.2,Thu 06 Aug 2020 11:39:54 AM EDT, +4,0.0.3,Tue 11 Aug 2020 09:37:50 PM EDT, +5,0.0.4,Mon 07 Sep 2020 10:01:45 AM EDT, +6,0.0.5,Sat 19 Sep 2020 04:28:24 PM EDT, +7,0.0.6,Tue 29 Sep 2020 07:22:23 PM EDT,enable FK constraint +8,0.0.7,Wed 30 Sep 2020 02:03:41 AM EDT,fixing (some) missing FK constraints