Определение моделей Sequel перед подключением

В моем (не-Rails) приложении я пытаюсь определить модель Sequel:

class Foo < Sequel::Model
end

Когда я запускаю свое приложение, я получаю сообщение об ошибке:

No database associated with Sequel::Model: 
have you called Sequel.connect or Sequel::Model.db= ? (Sequel::Error)

На самом деле, я не вызывал connect, потому что "require Foo" происходит до того, как выполняется мой код базы данных.

Конечно, я мог бы переключать вещи так, чтобы требование выполнялось после подключения БД, но есть ли другой вариант? В настоящее время у меня есть все приложения "require" в одном файле, и было бы неплохо не разорвать их для этих файлов классов модели.

Ответ 1

По дизайну, Sequel требует, чтобы соединение с базой данных настраивалось до определения класса модели, поскольку оно анализирует схему базы данных при создании класса модели. Поэтому вы должны настроить свой код инициализации, чтобы сначала подключиться к базе данных.