Improve trigger 'scope' attribute support (RT#119997)
[dbsrgits/SQL-Translator.git] / t / 24yaml.t
index 1c4e9cb..89d4cbb 100644 (file)
@@ -1,6 +1,4 @@
-#!/usr/local/bin/perl
-# vim: set ft=perl:
-
+use warnings;
 use strict;
 use Test::More;
 use Test::Differences;
@@ -15,7 +13,8 @@ BEGIN {
 }
 
 my $sqlt_version = $SQL::Translator::VERSION;
-my $yaml = <<YAML;
+use YAML qw(Dump Load);
+my $yaml = Dump(Load(<<YAML));
 ---
 schema:
   procedures: {}
@@ -50,7 +49,6 @@ schema:
         age:
           data_type: integer
           default_value: ~
-          extra: {}
           is_nullable: 1
           is_primary_key: 0
           is_unique: 0
@@ -61,7 +59,6 @@ schema:
         description:
           data_type: text
           default_value: ~
-          extra: {}
           is_nullable: 1
           is_primary_key: 0
           is_unique: 0
@@ -72,7 +69,6 @@ schema:
         iq:
           data_type: tinyint
           default_value: 0
-          extra: {}
           is_nullable: 1
           is_primary_key: 0
           is_unique: 0
@@ -83,7 +79,6 @@ schema:
         name:
           data_type: varchar
           default_value: ~
-          extra: {}
           is_nullable: 0
           is_primary_key: 0
           is_unique: 1
@@ -92,9 +87,12 @@ schema:
           size:
             - 20
         person_id:
+          comments:
+            - field comment 1
+            - field comment 2
           data_type: INTEGER
           default_value: ~
-          extra: {}
+          is_auto_increment: 1
           is_nullable: 0
           is_primary_key: 1
           is_unique: 0
@@ -105,7 +103,6 @@ schema:
         weight:
           data_type: double
           default_value: ~
-          extra: {}
           is_nullable: 1
           is_primary_key: 0
           is_unique: 0
@@ -144,49 +141,58 @@ schema:
           reference_fields: []
           reference_table: ''
           type: PRIMARY KEY
+        - deferrable: 1
+          expression: ''
+          fields:
+            - person_id
+          match_type: ''
+          name: ''
+          on_delete: ''
+          on_update: ''
+          options: []
+          reference_fields:
+            - person_id
+          reference_table: person
+          type: FOREIGN KEY
       fields:
         age:
           data_type: int
           default_value: ~
-          extra: {}
           is_nullable: 1
           is_primary_key: 0
           is_unique: 0
           name: age
-          order: 10
+          order: 4
           size:
             - 0
         name:
           data_type: varchar
           default_value: ~
-          extra: {}
           is_nullable: 1
           is_primary_key: 0
           is_unique: 0
           name: name
-          order: 9
+          order: 3
           size:
             - 30
         person_id:
           data_type: int
           default_value: ~
-          extra: {}
           is_nullable: 0
           is_primary_key: 1
           is_unique: 0
           name: person_id
-          order: 8
+          order: 2
           size:
             - 0
         pet_id:
           data_type: int
           default_value: ~
-          extra: {}
           is_nullable: 0
           is_primary_key: 1
           is_unique: 0
           name: pet_id
-          order: 7
+          order: 1
           size:
             - 0
       indices: []
@@ -200,15 +206,17 @@ schema:
         steps:
           - update pet set name=name
         when: ~
-      database_event: insert
+      database_events:
+        - insert
       fields: ~
       name: pet_trig
       on_table: pet
       order: 1
       perform_action_when: after
+      scope: row
   views:
     person_pet:
-      fields: ''
+      fields: []
       name: person_pet
       order: 1
       sql: |
@@ -236,8 +244,6 @@ my $tr   = SQL::Translator->new(
     parser   => 'SQLite',
     producer => 'YAML',
     data     => $data,
-#    debug    => 1,
-#    trace    => 1,
 );
 
 my $out;