@@ -135,8 +135,8 @@ extension Table {
135135 }
136136
137137 // MARK: - CREATE INDEX
138-
139- public func createIndex( _ columns: Expressible ... , unique: Bool = false , ifNotExists: Bool = false ) -> String {
138+
139+ public func createIndex( _ columns: [ Expressible ] , unique: Bool = false , ifNotExists: Bool = false ) -> String {
140140 let clauses : [ Expressible ? ] = [
141141 create ( " INDEX " , indexName ( columns) , unique ? . unique : nil , ifNotExists) ,
142142 Expression < Void > ( literal: " ON " ) ,
@@ -146,12 +146,20 @@ extension Table {
146146
147147 return " " . join ( clauses. compactMap { $0 } ) . asSQL ( )
148148 }
149+
150+ public func createIndex( _ columns: Expressible ... , unique: Bool = false , ifNotExists: Bool = false ) -> String {
151+ return createIndex ( Array ( columns) , unique: unique, ifNotExists: ifNotExists)
152+ }
149153
150154 // MARK: - DROP INDEX
151-
152- public func dropIndex( _ columns: Expressible ... , ifExists: Bool = false ) -> String {
155+
156+ public func dropIndex( _ columns: [ Expressible ] , ifExists: Bool = false ) -> String {
153157 drop ( " INDEX " , indexName ( columns) , ifExists)
154158 }
159+
160+ public func dropIndex( _ columns: Expressible ... , ifExists: Bool = false ) -> String {
161+ dropIndex ( Array ( columns) , ifExists: ifExists)
162+ }
155163
156164 fileprivate func indexName( _ columns: [ Expressible ] ) -> Expressible {
157165 let string = ( [ " index " , clauses. from. name, " on " ] + columns. map { $0. expression. template } ) . joined ( separator: " " ) . lowercased ( )
0 commit comments