@@ -577,14 +577,71 @@ public function testGetCreateSchemaSQL()
577
577
self ::assertEquals ('CREATE SCHEMA ' . $ schemaName , $ sql );
578
578
}
579
579
580
+ public function testCreateTableWithSchemaColumnComments ()
581
+ {
582
+ $ table = new Table ('testschema.test ' );
583
+ $ table ->addColumn ('id ' , 'integer ' , ['comment ' => 'This is a comment ' ]);
584
+ $ table ->setPrimaryKey (['id ' ]);
585
+
586
+ $ expectedSql = [
587
+ 'CREATE TABLE testschema.test (id INT NOT NULL, PRIMARY KEY (id)) ' ,
588
+ "EXEC sp_addextendedproperty N'MS_Description', N'This is a comment', N'SCHEMA', 'testschema', N'TABLE', 'test', N'COLUMN', id " ,
589
+ ];
590
+
591
+ self ::assertEquals ($ expectedSql , $ this ->_platform ->getCreateTableSQL ($ table ));
592
+ }
593
+
594
+ public function testAlterTableWithSchemaColumnComments ()
595
+ {
596
+ $ tableDiff = new TableDiff ('testschema.mytable ' );
597
+ $ tableDiff ->addedColumns ['quota ' ] = new Column ('quota ' , Type::getType ('integer ' ), ['comment ' => 'A comment ' ]);
598
+
599
+ $ expectedSql = [
600
+ 'ALTER TABLE testschema.mytable ADD quota INT NOT NULL ' ,
601
+ "EXEC sp_addextendedproperty N'MS_Description', N'A comment', N'SCHEMA', 'testschema', N'TABLE', 'mytable', N'COLUMN', quota " ,
602
+ ];
603
+
604
+ self ::assertEquals ($ expectedSql , $ this ->_platform ->getAlterTableSQL ($ tableDiff ));
605
+ }
606
+
607
+ public function testAlterTableWithSchemaDropColumnComments ()
608
+ {
609
+ $ tableDiff = new TableDiff ('testschema.mytable ' );
610
+ $ tableDiff ->changedColumns ['quota ' ] = new ColumnDiff (
611
+ 'quota ' ,
612
+ new Column ('quota ' , Type::getType ('integer ' ), []),
613
+ ['comment ' ],
614
+ new Column ('quota ' , Type::getType ('integer ' ), ['comment ' => 'A comment ' ])
615
+ );
616
+
617
+ $ expectedSql = ["EXEC sp_dropextendedproperty N'MS_Description', N'SCHEMA', 'testschema', N'TABLE', 'mytable', N'COLUMN', quota " ];
618
+
619
+ self ::assertEquals ($ expectedSql , $ this ->_platform ->getAlterTableSQL ($ tableDiff ));
620
+ }
621
+
622
+ public function testAlterTableWithSchemaUpdateColumnComments ()
623
+ {
624
+ $ tableDiff = new TableDiff ('testschema.mytable ' );
625
+ $ tableDiff ->changedColumns ['quota ' ] = new ColumnDiff (
626
+ 'quota ' ,
627
+ new Column ('quota ' , Type::getType ('integer ' ), ['comment ' => 'B comment ' ]),
628
+ ['comment ' ],
629
+ new Column ('quota ' , Type::getType ('integer ' ), ['comment ' => 'A comment ' ])
630
+ );
631
+
632
+ $ expectedSql = ["EXEC sp_updateextendedproperty N'MS_Description', N'B comment', N'SCHEMA', 'testschema', N'TABLE', 'mytable', N'COLUMN', quota " ];
633
+
634
+ self ::assertEquals ($ expectedSql , $ this ->_platform ->getAlterTableSQL ($ tableDiff ));
635
+ }
636
+
580
637
/**
581
638
* @group DBAL-543
582
639
*/
583
640
public function getCreateTableColumnCommentsSQL ()
584
641
{
585
642
return array (
586
643
"CREATE TABLE test (id INT NOT NULL, PRIMARY KEY (id)) " ,
587
- "EXEC sp_addextendedproperty N'MS_Description', N'This is a comment', N'SCHEMA', dbo, N'TABLE', test, N'COLUMN', id " ,
644
+ "EXEC sp_addextendedproperty N'MS_Description', N'This is a comment', N'SCHEMA', ' dbo' , N'TABLE', ' test' , N'COLUMN', id " ,
588
645
);
589
646
}
590
647
@@ -595,7 +652,7 @@ public function getAlterTableColumnCommentsSQL()
595
652
{
596
653
return array (
597
654
"ALTER TABLE mytable ADD quota INT NOT NULL " ,
598
- "EXEC sp_addextendedproperty N'MS_Description', N'A comment', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', quota " ,
655
+ "EXEC sp_addextendedproperty N'MS_Description', N'A comment', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', quota " ,
599
656
// todo
600
657
//"EXEC sp_addextendedproperty N'MS_Description', N'B comment', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', baz",
601
658
);
@@ -608,7 +665,7 @@ public function getCreateTableColumnTypeCommentsSQL()
608
665
{
609
666
return array (
610
667
"CREATE TABLE test (id INT NOT NULL, data VARCHAR(MAX) NOT NULL, PRIMARY KEY (id)) " ,
611
- "EXEC sp_addextendedproperty N'MS_Description', N'(DC2Type:array)', N'SCHEMA', dbo, N'TABLE', test, N'COLUMN', data " ,
668
+ "EXEC sp_addextendedproperty N'MS_Description', N'(DC2Type:array)', N'SCHEMA', ' dbo' , N'TABLE', ' test' , N'COLUMN', data " ,
612
669
);
613
670
}
614
671
@@ -636,15 +693,15 @@ public function testGeneratesCreateTableSQLWithColumnComments()
636
693
self ::assertEquals (
637
694
array (
638
695
"CREATE TABLE mytable (id INT IDENTITY NOT NULL, comment_null INT NOT NULL, comment_false INT NOT NULL, comment_empty_string INT NOT NULL, comment_integer_0 INT NOT NULL, comment_float_0 INT NOT NULL, comment_string_0 INT NOT NULL, comment INT NOT NULL, [comment_quoted] INT NOT NULL, [create] INT NOT NULL, commented_type VARCHAR(MAX) NOT NULL, commented_type_with_comment VARCHAR(MAX) NOT NULL, comment_with_string_literal_char NVARCHAR(255) NOT NULL, PRIMARY KEY (id)) " ,
639
- "EXEC sp_addextendedproperty N'MS_Description', N'0', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', comment_integer_0 " ,
640
- "EXEC sp_addextendedproperty N'MS_Description', N'0', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', comment_float_0 " ,
641
- "EXEC sp_addextendedproperty N'MS_Description', N'0', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', comment_string_0 " ,
642
- "EXEC sp_addextendedproperty N'MS_Description', N'Doctrine 0wnz you!', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', comment " ,
643
- "EXEC sp_addextendedproperty N'MS_Description', N'Doctrine 0wnz comments for explicitly quoted columns!', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', [comment_quoted] " ,
644
- "EXEC sp_addextendedproperty N'MS_Description', N'Doctrine 0wnz comments for reserved keyword columns!', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', [create] " ,
645
- "EXEC sp_addextendedproperty N'MS_Description', N'(DC2Type:object)', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', commented_type " ,
646
- "EXEC sp_addextendedproperty N'MS_Description', N'Doctrine array type.(DC2Type:array)', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', commented_type_with_comment " ,
647
- "EXEC sp_addextendedproperty N'MS_Description', N'O''Reilly', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', comment_with_string_literal_char " ,
696
+ "EXEC sp_addextendedproperty N'MS_Description', N'0', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', comment_integer_0 " ,
697
+ "EXEC sp_addextendedproperty N'MS_Description', N'0', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', comment_float_0 " ,
698
+ "EXEC sp_addextendedproperty N'MS_Description', N'0', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', comment_string_0 " ,
699
+ "EXEC sp_addextendedproperty N'MS_Description', N'Doctrine 0wnz you!', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', comment " ,
700
+ "EXEC sp_addextendedproperty N'MS_Description', N'Doctrine 0wnz comments for explicitly quoted columns!', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', [comment_quoted] " ,
701
+ "EXEC sp_addextendedproperty N'MS_Description', N'Doctrine 0wnz comments for reserved keyword columns!', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', [create] " ,
702
+ "EXEC sp_addextendedproperty N'MS_Description', N'(DC2Type:object)', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', commented_type " ,
703
+ "EXEC sp_addextendedproperty N'MS_Description', N'Doctrine array type.(DC2Type:array)', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', commented_type_with_comment " ,
704
+ "EXEC sp_addextendedproperty N'MS_Description', N'O''Reilly', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', comment_with_string_literal_char " ,
648
705
),
649
706
$ this ->_platform ->getCreateTableSQL ($ table )
650
707
);
@@ -807,27 +864,27 @@ public function testGeneratesAlterTableSQLWithColumnComments()
807
864
"ALTER TABLE mytable ALTER COLUMN commented_type INT NOT NULL " ,
808
865
809
866
// Added columns.
810
- "EXEC sp_addextendedproperty N'MS_Description', N'0', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', added_comment_integer_0 " ,
811
- "EXEC sp_addextendedproperty N'MS_Description', N'0', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', added_comment_float_0 " ,
812
- "EXEC sp_addextendedproperty N'MS_Description', N'0', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', added_comment_string_0 " ,
813
- "EXEC sp_addextendedproperty N'MS_Description', N'Doctrine', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', added_comment " ,
814
- "EXEC sp_addextendedproperty N'MS_Description', N'rulez', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', [added_comment_quoted] " ,
815
- "EXEC sp_addextendedproperty N'MS_Description', N'666', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', [select] " ,
816
- "EXEC sp_addextendedproperty N'MS_Description', N'(DC2Type:object)', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', added_commented_type " ,
817
- "EXEC sp_addextendedproperty N'MS_Description', N'666(DC2Type:array)', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', added_commented_type_with_comment " ,
818
- "EXEC sp_addextendedproperty N'MS_Description', N'''''', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', added_comment_with_string_literal_char " ,
867
+ "EXEC sp_addextendedproperty N'MS_Description', N'0', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', added_comment_integer_0 " ,
868
+ "EXEC sp_addextendedproperty N'MS_Description', N'0', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', added_comment_float_0 " ,
869
+ "EXEC sp_addextendedproperty N'MS_Description', N'0', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', added_comment_string_0 " ,
870
+ "EXEC sp_addextendedproperty N'MS_Description', N'Doctrine', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', added_comment " ,
871
+ "EXEC sp_addextendedproperty N'MS_Description', N'rulez', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', [added_comment_quoted] " ,
872
+ "EXEC sp_addextendedproperty N'MS_Description', N'666', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', [select] " ,
873
+ "EXEC sp_addextendedproperty N'MS_Description', N'(DC2Type:object)', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', added_commented_type " ,
874
+ "EXEC sp_addextendedproperty N'MS_Description', N'666(DC2Type:array)', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', added_commented_type_with_comment " ,
875
+ "EXEC sp_addextendedproperty N'MS_Description', N'''''', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', added_comment_with_string_literal_char " ,
819
876
820
877
// Changed columns.
821
- "EXEC sp_addextendedproperty N'MS_Description', N'primary', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', id " ,
822
- "EXEC sp_addextendedproperty N'MS_Description', N'false', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', comment_false " ,
823
- "EXEC sp_addextendedproperty N'MS_Description', N'(DC2Type:object)', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', comment_empty_string " ,
824
- "EXEC sp_dropextendedproperty N'MS_Description', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', comment_string_0 " ,
825
- "EXEC sp_dropextendedproperty N'MS_Description', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', comment " ,
826
- "EXEC sp_updateextendedproperty N'MS_Description', N'Doctrine array.(DC2Type:array)', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', [comment_quoted] " ,
827
- "EXEC sp_updateextendedproperty N'MS_Description', N'(DC2Type:object)', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', [create] " ,
828
- "EXEC sp_updateextendedproperty N'MS_Description', N'foo', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', commented_type " ,
829
- "EXEC sp_updateextendedproperty N'MS_Description', N'(DC2Type:array)', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', commented_type_with_comment " ,
830
- "EXEC sp_updateextendedproperty N'MS_Description', N'''', N'SCHEMA', dbo, N'TABLE', mytable, N'COLUMN', comment_with_string_literal_char " ,
878
+ "EXEC sp_addextendedproperty N'MS_Description', N'primary', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', id " ,
879
+ "EXEC sp_addextendedproperty N'MS_Description', N'false', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', comment_false " ,
880
+ "EXEC sp_addextendedproperty N'MS_Description', N'(DC2Type:object)', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', comment_empty_string " ,
881
+ "EXEC sp_dropextendedproperty N'MS_Description', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', comment_string_0 " ,
882
+ "EXEC sp_dropextendedproperty N'MS_Description', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', comment " ,
883
+ "EXEC sp_updateextendedproperty N'MS_Description', N'Doctrine array.(DC2Type:array)', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', [comment_quoted] " ,
884
+ "EXEC sp_updateextendedproperty N'MS_Description', N'(DC2Type:object)', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', [create] " ,
885
+ "EXEC sp_updateextendedproperty N'MS_Description', N'foo', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', commented_type " ,
886
+ "EXEC sp_updateextendedproperty N'MS_Description', N'(DC2Type:array)', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', commented_type_with_comment " ,
887
+ "EXEC sp_updateextendedproperty N'MS_Description', N'''', N'SCHEMA', ' dbo' , N'TABLE', ' mytable' , N'COLUMN', comment_with_string_literal_char " ,
831
888
),
832
889
$ this ->_platform ->getAlterTableSQL ($ tableDiff )
833
890
);
0 commit comments