2015-08-19 4 views
0

У меня есть проект, который содержит несколько баз данных в структуре каталога, как это:Как запросить несколько баз данных с помощью Sequel

folder1 
|_ sub1 
    |_ db1 
    |_ db2 
|_ sub2 
    |_ db1 
    |_ d2 

Я хотел бы выполнить один запрос в отношении всех баз данных.

Есть ли способ сделать это с помощью Sequel, или мне нужно будет перемещаться по каталогу и создавать новое соединение с базой данных для каждой базы данных, а затем запускать запрос?

Помогите оценить.

ответ

1

Вы можете сделать это несколько способами, но я хотел бы сделать это как этот непроверенный код:

%w[ 
    sqlite://folder1/sub1/db1.db 
    sqlite://folder1/sub1/db2.db 
    sqlite://folder1/sub2/db1.db 
    sqlite://folder1/sub2/db2.db 
].map{ |dsn| 
    DB = Sequel.connect(dsn) 
    DB[:some_table].where('some' => 'value').all 
} 

этой перебирает DSNs для каждой базы данных, открывает соединение и возвращает результат в виде массива результатов ,

Что это такое, так как мы понятия не имеем, что такое схемы таблиц.

Смежные вопросы