Вам необходимо иметь SchemaMeta[T]
в области видимости, чтобы иметь возможность выполнять запросы с использованием этого типа. Дурацкое решение было бы потребовать его как ограничение параметра (и, следовательно, неявный параметр класса), например
class DB[T: SchemaMeta]
, но это не сработало бы, потому что ctx
обеспечивает эти экземпляры.
Я полагаю, что вам нужно следовать приведенным здесь примерам: https://getquill.io/#contexts -dependent-contextxts Но даже тогда то, что вы хотите, может оказаться недостижимым.
При работе с иглой важно понимать, что почти все, что там происходит, основано на макросах, и если вы абстрагируете вещи, то для работы этих макросов недостаточно информации. Поэтому вам нужно либо дублировать код, требующий макросов, либо обернуть код, который должен быть обобщенным c, в ваш собственный макрос.