· 10 years ago · Aug 25, 2016, 11:10 AM
1def create_table name
2 comments = "-- --------------------------------------------------------\n\n
3--
4-- Table structure for table `#{name}`
5--\n\n"
6
7 table = "DROP TABLE IF EXISTS \"#{name}\";
8CREATE TABLE IF NOT EXISTS \"#{name}\" (
9\"document\" jsonb DEFAULT NULL
10) WITH (
11 OIDS=FALSE
12);
13ALTER TABLE public.form
14 OWNER TO test_user;\n\n"
15
16 dumping_comments = "--
17-- Dumping data for table \"#{name}\"
18--\n\n"
19
20 result = comments + table + dumping_comments
21end
22
23###################
24def read_document file_name
25 input = File.open(file_name, "r")
26 result = ""
27 while (line = input.gets)
28 result += line
29 end
30 return result
31end
32
33###################
34def create_insert name
35 result = "INSERT INTO \"#{name}\" (\"document\") VALUES"
36 result += "\n"
37 result
38end
39
40###################
41def get_values_from_current_dir
42 Dir.glob("*.{json}")
43end
44
45###################
46def add_values values
47 result = ""
48 i = 0
49 while i < values.size do
50 result += "('"
51 result += values[i]
52 result += "')"
53 if (i < values.size - 1)
54 result += ",\n"
55 else
56 result += ';'
57 end
58 i += 1
59 end
60 result
61end
62
63#START_WORK
64result = create_table 'form'
65#Array of json documents
66docs = Array.new
67json_document_names = get_values_from_current_dir
68json_document_names.each do |name|
69 doc = read_document name
70 docs << doc
71end
72insert = create_insert 'form'
73insert += add_values docs
74result += insert
75puts result