Squashed 'projects/bad-nlp/name-database/' content from commit 46d2e01a

git-subtree-dir: projects/bad-nlp/name-database
git-subtree-split: 46d2e01a4953b8f54e8625c9111cf5b372d80b49
This commit is contained in:
2023-03-20 18:03:18 -06:00
commit 2af495d056
669 changed files with 423076 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
require 'sequel'
task "export:sqlite" => [:db, "export:sqlite:schema"] do
#first insert the given_names
@names = @output[:names]
@meta = @output[:metadata]
puts "dumping given names"
@db.given_names.each do |entry|
row = @names.insert :name => entry.name, :type => "given"
entry.metadata_without_nesting.each do |key, value|
@meta.insert :key => key, :value => value
end
end
# puts "dumping family names"
# @db.family_names.each do |entry|
# @names << {:name => entry.name, :type => "family"}
# end
end
namespace "export:sqlite" do
task :db => "out" do
existing = Dir["out/*.sqlite"].length
path = "out/names#{(".#{existing}" if existing > 0)}.sqlite"
@output = Sequel.sqlite(path)
end
task :schema => "export:sqlite:db" do
@output.create_table :names do
primary_key :id
String :name
String :type
index [:type, :name]
end
@output.create_table :metadata do
foreign_key :name_id, :names
String :key
String :value
index [:name_id, :key]
end
end
end