Release commit for 1.62
[dbsrgits/SQL-Translator.git] / lib / SQL / Translator / Generator / DDL / SQLite.pm
index 5a60d51..afce4b3 100644 (file)
@@ -10,6 +10,7 @@ engine.
 I<documentation volunteers needed>
 
 =cut
+
 use Moo;
 
 has quote_chars => (is=>'ro', default=>sub { +[qw(" ")] } );
@@ -75,18 +76,34 @@ sub _ipk {
    ( $field->data_type =~ /^number?$/i && $field->size !~ /,/ ) )
 }
 
+sub field_autoinc {
+    my ($self, $field) = @_;
+
+    return (
+      (
+        ($field->extra->{auto_increment_type}||'') eq 'monotonic'
+          and
+        $self->_ipk($field)
+          and
+        $field->is_auto_increment
+      )
+      ? 'AUTOINCREMENT'
+      : ''
+    );
+}
+
 sub field {
    my ($self, $field) = @_;
 
+
    return join ' ',
       $self->field_comments($field),
       $self->field_name($field),
       ( $self->_ipk($field)
-         ? $field->is_auto_increment
-            ? ( 'INTEGER PRIMARY KEY AUTOINCREMENT' )
-            : ( 'INTEGER PRIMARY KEY' )
+         ? ( 'INTEGER PRIMARY KEY' )
          : ( $self->field_type($field) )
       ),
+      ( $self->field_autoinc($field) || () ),
       $self->field_nullable($field),
       $self->field_default($field, {
          NULL => 1,