# vim: set ft=perl:
use strict;
-use Test::More tests => 2;
+use Test::More;
use Test::Differences;
+use Test::SQL::Translator qw(maybe_plan);
use SQL::Translator;
use FindBin '$Bin';
-my $yaml = q/--- #YAML:1.0
+BEGIN {
+ maybe_plan(2,
+ 'SQL::Translator::Parser::SQLite',
+ 'SQL::Translator::Producer::YAML');
+}
+
+my $sqlt_version = $SQL::Translator::VERSION;
+my $yaml = <<YAML;
+---
schema:
procedures: {}
tables:
person:
- comments: ''
+ constraints:
+ - deferrable: 1
+ expression: ''
+ fields:
+ - person_id
+ match_type: ''
+ name: ''
+ on_delete: ''
+ on_update: ''
+ options: []
+ reference_fields: []
+ reference_table: ''
+ type: PRIMARY KEY
+ - deferrable: 1
+ expression: ''
+ fields:
+ - name
+ match_type: ''
+ name: u_name
+ on_delete: ''
+ on_update: ''
+ options: []
+ reference_fields: []
+ reference_table: ''
+ type: UNIQUE
fields:
age:
data_type: integer
size:
- 11
- 2
- indices: {}
+ indices: []
name: person
options: []
order: 1
pet:
- comments: ''
+ constraints:
+ - deferrable: 1
+ expression: ''
+ fields: []
+ match_type: ''
+ name: ''
+ on_delete: ''
+ on_update: ''
+ options: []
+ reference_fields: []
+ reference_table: ''
+ type: CHECK
+ - deferrable: 1
+ expression: ''
+ fields:
+ - pet_id
+ - person_id
+ match_type: ''
+ name: ''
+ on_delete: ''
+ on_update: ''
+ options: []
+ reference_fields: []
+ reference_table: ''
+ type: PRIMARY KEY
fields:
age:
data_type: int
order: 7
size:
- 0
- indices: {}
+ indices: []
name: pet
options: []
order: 2
triggers:
- after:
+ pet_trig:
action:
for_each: ~
steps:
- - update name=name
+ - update pet set name=name
when: ~
database_event: insert
fields: ~
- name: after
- on_table: ~
+ name: pet_trig
+ on_table: pet
order: 1
- perform_action_when: ~
+ perform_action_when: after
views:
person_pet:
- fields: ~
+ fields: ''
name: person_pet
order: 1
sql: |
select pr.person_id, pr.name as person_name, pt.name as pet_name
from person pr, pet pt
where person.person_id=pet.pet_id
-/;
+translator:
+ add_drop_table: 0
+ filename: ~
+ no_comments: 0
+ parser_args: {}
+ parser_type: SQL::Translator::Parser::SQLite
+ producer_args: {}
+ producer_type: SQL::Translator::Producer::YAML
+ show_warnings: 0
+ trace: 0
+ version: $sqlt_version
+YAML
-my $tr = SQL::Translator->new(
+my $file = "$Bin/data/sqlite/create.sql";
+open FH, "<$file" or die "Can't read '$file': $!\n";
+local $/;
+my $data = <FH>;
+my $tr = SQL::Translator->new(
parser => 'SQLite',
producer => 'YAML',
- filename => "$Bin/data/sqlite/create.sql",
+ data => $data,
+# debug => 1,
+# trace => 1,
);
my $out;