         if let originColumns = originColumns {
             let destinationColumns = try db.primaryKey(destinationTable).columns
             if (originColumns.count == destinationColumns.count) {
-                // TODO: test
                 let mapping = zip(originColumns, destinationColumns).map {
                     (origin: $0, destination: $1)
                 }

                    return false
                }
            }
            // TODO: test
            if let destinationColumns = destinationColumns {
                let destinationColumns = Set(destinationColumns.lazy.map { $0.lowercased() })
                let foreignKeyColumns = Set(foreignKey.mapping.lazy.map { $0.destination.lowercased() })
                if destinationColumns != foreignKeyColumns {

        if let foreignKey = foreignKeys.first {
            if foreignKeys.count == 1 {
                // Non-ambiguous
                return foreignKey
            } else {
                // Ambiguous: can't choose
