1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
use strict;
use warnings;
use Test::More;
use SQL::Translator::Generator::DDL::SQLServer;
use SQL::Translator::Schema::Field;
use SQL::Translator::Schema::Table;
my $shim = SQL::Translator::Generator::DDL::SQLServer->new();
is $shim->field(SQL::Translator::Schema::Field->new(
name => 'lol',
data_type => 'int',
)), '[lol] int NULL', 'simple field is generated correctly';
is $shim->field(SQL::Translator::Schema::Field->new(
name => 'nice',
data_type => 'varchar',
size => 10,
)), '[nice] varchar(10) NULL', 'sized field is generated correctly';
my $table = SQL::Translator::Schema::Table->new(
name => 'mytable',
);
$table->add_field(
name => 'myenum',
data_type => 'enum',
extra => { list => [qw(foo ba'r)] },
);
like $shim->table($table),
qr/\b\QCONSTRAINT [myenum_chk] CHECK ([myenum] IN ('foo','ba''r'))\E/,
'enum constraint is generated and escaped correctly';
done_testing;
|