logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SQL::Translator::Producer::SQLServer - MS SQLServer producer for SQL::Translator

Authors

       See the included AUTHORS file: <http://search.cpan.org/dist/SQL-Translator/AUTHORS>

Description

       This is currently a thin wrapper around the nextgen SQL::Translator::Generator::DDL::SQLServer DDL maker.

Extra Attributes

       field.list
           List of values for an enum field.

License

       This code is free software and may be distributed under the same terms as Perl itself.

perl v5.40.0                                       2024-11-23             SQL::Translator...ucer::SQLServer(3pm)

Name

       SQL::Translator::Producer::SQLServer - MS SQLServer producer for SQL::Translator

See Also

       SQL::Translator

Synopsis

         use SQL::Translator;

         my $t = SQL::Translator->new( parser => '...', producer => 'SQLServer' );
         $t->translate;

Todo

        * !! Write some tests !!
        * Reserved words list needs updating to SQLServer.
        * Triggers, Procedures and Views DO NOT WORK

           # Text of view is already a 'create view' statement so no need to
           # be fancy
           foreach ( $schema->get_views ) {
               my $name = $_->name();
               $output .= "\n\n";
               $output .= "--\n-- View: $name\n--\n\n" unless $no_comments;
               my $text = $_->sql();
               $text =~ s/\r//g;
               $output .= "$text\nGO\n";
           }

           # Text of procedure already has the 'create procedure' stuff
           # so there is no need to do anything fancy. However, we should
           # think about doing fancy stuff with granting permissions and
           # so on.
           foreach ( $schema->get_procedures ) {
               my $name = $_->name();
               $output .= "\n\n";
               $output .= "--\n-- Procedure: $name\n--\n\n" unless $no_comments;
               my $text = $_->sql();
             $text =~ s/\r//g;
               $output .= "$text\nGO\n";
           }

See Also