start adding FK constraint fixes
authorShane Jaroch <nutratracker@protonmail.com>
Wed, 30 Sep 2020 06:04:43 +0000 (02:04 -0400)
committerShane Jaroch <nutratracker@protonmail.com>
Wed, 30 Sep 2020 06:07:35 +0000 (02:07 -0400)
sql/import.sql
sql/tables.sql
sql/version.csv

index 8716ce4a8fbd886f873816739a2bf846408c8d85..4f90795e698564480d088d9484e33412e918aa03 100644 (file)
@@ -14,6 +14,8 @@
 -- You should have received a copy of the GNU General Public License
 -- along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
+PRAGMA foreign_keys = 1;
+
 .mode csv
 
 .import '| tail -n +2 version.csv' version
 
 .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
index 644f18f74401c30ae07b8e52ce629020d154e002..9196e3cfae7215142b5ce32250f57cde12a4d4bd 100644 (file)
@@ -14,7 +14,7 @@
 -- You should have received a copy of the GNU General Public License
 -- along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
-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 (
index 16ea0ebd6c56af79432f7f5360dcda3dbbe3da5d..382a98bf5f28cca43e70ed9f98aa0908b1279555 100644 (file)
@@ -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