Я знаю, что очень близок к тому, чтобы этот код заработал, но, должно быть, не хватает чего-то простого.
У меня есть серия таблиц teradata и oracle, которые я абстрагировал с помощью sequel :: model. Я загрузил расширение пагинации в базу данных. Я могу получить набор данных, но что бы я ни делал, я не могу получить от него что-либо, кроме первой страницы.
Вот пример того, как Айв абстрагировал таблицы.
module MyDB
class MyTable< Sequel::Model(tera_db["#{$env[:my_db]}__my_table".to_sym])
@factory_name = :my_factory
set_primary_key [:my_primary_key]
@typecast_on_assignment = false
end
end
Вот как я реализовал тестовый код для each_page
MyDB::MyTable.order(:my_primary_key).each_page(1000) do |page|
p page.current_page_record_count
p page.count
p page.first
end
В наборе данных 87 675 записей. Последние две итерации этого цикла:
1000
1000
values = {: key1 => 12345,: key2 => 14,58,: key3 => 155,44}
675
1000
values = {: key1 => 12345,: key2 => 14,58,: key3 => 155,44}
Итак ... создается нужное количество страниц. И основное количество выгружаемых записей верное. Но когда я пытаюсь получить фактические значения на странице, он получает только записи с первой страницы, включая количество записей.
Что мне не хватает?