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,
107 "data_type" : "INTEGER",
108 "default_value" : null,
109 "is_auto_increment" : 1,
111 "is_primary_key" : 1,
113 "name" : "person_id",
120 "data_type" : "double",
121 "default_value" : null,
123 "is_primary_key" : 0,
149 "reference_fields" : [],
150 "reference_table" : "",
165 "reference_fields" : [],
166 "reference_table" : "",
167 "type" : "PRIMARY KEY"
180 "reference_fields" : [
183 "reference_table" : "person",
184 "type" : "FOREIGN KEY"
190 "default_value" : null,
192 "is_primary_key" : 0,
201 "data_type" : "varchar",
202 "default_value" : null,
204 "is_primary_key" : 0,
214 "default_value" : null,
216 "is_primary_key" : 1,
218 "name" : "person_id",
226 "default_value" : null,
228 "is_primary_key" : 1,
248 "update pet set name=name"
252 "database_events" : [
259 "perform_action_when" : "after"
265 "name" : "person_pet",
267 "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"
272 "add_drop_table" : 0,
276 "parser_type" : "SQL::Translator::Parser::SQLite",
281 "producer_type" : "SQL::Translator::Producer::JSON",
284 "version" : "$sqlt_version"
289 my $file = "$Bin/data/sqlite/create.sql";
290 open my $fh, '<', $file or die "Can't read '$file': $!\n";
293 my $tr = SQL::Translator->new(
304 ok( $out = $tr->translate, 'Translate SQLite to JSON' );
305 eq_or_diff( $out, $json, 'JSON matches expected' );