package SQL::Translator::Producer::SQLite;
# -------------------------------------------------------------------
-# $Id: SQLite.pm,v 1.15 2006-08-26 11:35:31 schiffbruechige Exp $
+# $Id$
# -------------------------------------------------------------------
# Copyright (C) 2002-4 SQLFairy Authors
#
use vars qw[ $VERSION $DEBUG $WARN ];
-$VERSION = sprintf "%d.%02d", q$Revision: 1.15 $ =~ /(\d+)\.(\d+)/;
+$VERSION = sprintf "%d.%02d", q$Revision$ =~ /(\d+)\.(\d+)/;
$DEBUG = 0 unless defined $DEBUG;
$WARN = 0 unless defined $WARN;
my $table_name = $table->name;
my $no_comments = $options->{no_comments};
my $add_drop_table = $options->{add_drop_table};
- my $sqlite_version = $options->{sqlite_version};
+ my $sqlite_version = $options->{sqlite_version} || 0;
debug("PKG: Looking at table '$table_name'\n");
# Default? XXX Need better quoting!
my $default = $field->default_value;
- if ( defined $default ) {
- if ( uc $default eq 'NULL') {
- $field_def .= ' DEFAULT NULL';
- } elsif ( $default eq 'now()' ||
- $default eq 'CURRENT_TIMESTAMP' ) {
- $field_def .= ' DEFAULT CURRENT_TIMESTAMP';
- } elsif ( $default =~ /val\(/ ) {
- next;
- } else {
- $field_def .= " DEFAULT '$default'";
- }
+ if (defined $default) {
+ SQL::Translator::Producer->_apply_default_value(
+ \$field_def,
+ $default,
+ [
+ 'NULL' => \'NULL',
+ 'now()' => 'now()',
+ 'CURRENT_TIMESTAMP' => 'CURRENT_TIMESTAMP',
+ ],
+ );
}
return $field_def;