33module Database.SqlServer.Types.Database where
44
55import Database.SqlServer.Types.Identifiers (RegularIdentifier ,renderRegularIdentifier )
6- import Database.SqlServer.Types.Table (TableDefinition , renderTableDefinition )
6+ import Database.SqlServer.Types.Table (TableDefinition )
77import Database.SqlServer.Types.Sequence (SequenceDefinition )
88import Database.SqlServer.Types.Procedure
99import Database.SqlServer.Types.Queue
10- import Database.SqlServer.Types.Renderable
10+ import Database.SqlServer.Types.Entity
1111
1212import Test.QuickCheck
1313import Test.QuickCheck.Gen
@@ -25,28 +25,19 @@ data DatabaseDefinition = DatabaseDefinition
2525 , queueDefinitions :: [QueueDefinition ]
2626 }
2727
28- renderTableDefiniton :: [TableDefinition ] -> Doc
29- renderTableDefiniton xs = vcat (map renderTableDefinition xs)
30-
31- renderSequenceDefinitions :: [SequenceDefinition ] -> Doc
32- renderSequenceDefinitions xs = vcat (map toDoc xs)
33-
34- renderProcedureDefinitions :: [ProcedureDefinition ] -> Doc
35- renderProcedureDefinitions xs = vcat (map toDoc xs)
36-
37- renderQueueDefinitions :: [QueueDefinition ] -> Doc
38- renderQueueDefinitions xs = vcat (map toDoc xs)
28+ renderNamedEntities :: Entity a => [a ] -> Doc
29+ renderNamedEntities xs = vcat (map toDoc xs)
3930
4031renderDatabaseDefinition :: DatabaseDefinition -> Doc
4132renderDatabaseDefinition dd = text " USE master" $+$
4233 text " GO" $+$
4334 text " CREATE DATABASE" <+> dbName $+$
4435 text " GO" $+$
4536 text " USE" <+> dbName $+$
46- renderTableDefiniton (tableDefinitions dd) $+$
47- renderSequenceDefinitions (sequenceDefinitions dd) $+$
48- renderProcedureDefinitions (procedureDefinitions dd) $+$
49- renderQueueDefinitions (queueDefinitions dd)
37+ renderNamedEntities (tableDefinitions dd) $+$
38+ renderNamedEntities (sequenceDefinitions dd) $+$
39+ renderNamedEntities (procedureDefinitions dd) $+$
40+ renderNamedEntities (queueDefinitions dd)
5041 where
5142 dbName = renderRegularIdentifier (databaseName dd)
5243
0 commit comments