5 use Test::SQL::Translator qw(maybe_plan);
12 'SQL::Translator::Parser::SQLite',
13 'SQL::Translator::Producer::JSON',
17 my $sqlt_version = $SQL::Translator::VERSION;
19 my $json = to_json(from_json(<<JSON), { canonical => 1, pretty => 1 });
37 "reference_fields" : [],
38 "reference_table" : "",
39 "type" : "PRIMARY KEY"
52 "reference_fields" : [],
53 "reference_table" : "",
59 "data_type" : "integer",
60 "default_value" : null,
72 "default_value" : null,
76 "name" : "description",
83 "data_type" : "tinyint",
84 "default_value" : "0",
95 "data_type" : "varchar",
96 "default_value" : null,
111 "data_type" : "INTEGER",
112 "default_value" : null,
113 "is_auto_increment" : 1,
115 "is_primary_key" : 1,
117 "name" : "person_id",
124 "data_type" : "double",
125 "default_value" : null,
127 "is_primary_key" : 0,
153 "reference_fields" : [],
154 "reference_table" : "",
169 "reference_fields" : [],
170 "reference_table" : "",
171 "type" : "PRIMARY KEY"
184 "reference_fields" : [
187 "reference_table" : "person",
188 "type" : "FOREIGN KEY"
194 "default_value" : null,
196 "is_primary_key" : 0,
205 "data_type" : "varchar",
206 "default_value" : null,
208 "is_primary_key" : 0,
218 "default_value" : null,
220 "is_primary_key" : 1,
222 "name" : "person_id",
230 "default_value" : null,
232 "is_primary_key" : 1,
252 "update pet set name=name"
256 "database_events" : [
263 "perform_action_when" : "after"
269 "name" : "person_pet",
271 "sql" : "select pr.person_id, pr.name as person_name, pt.name as pet_name\\n from person pr, pet pt\\n where person.person_id=pet.pet_id\\n"
276 "add_drop_table" : 0,
280 "parser_type" : "SQL::Translator::Parser::SQLite",
285 "producer_type" : "SQL::Translator::Producer::JSON",
288 "version" : "$sqlt_version"
293 my $file = "$Bin/data/sqlite/create.sql";
294 open my $fh, '<', $file or die "Can't read '$file': $!\n";
297 my $tr = SQL::Translator->new(
308 ok( $out = $tr->translate, 'Translate SQLite to JSON' );
309 eq_or_diff( $out, $json, 'JSON matches expected' );