Для соединения с несколькими базами данных вам необходимо добавить следующие коды в файл database.yml. Здесь я приведу пример соединения двух баз данных из приложения rails
config / database.yml
development:
adapter: mysql2
database: db1_dev
username: root
password: xyz
host: localhost
development_sec:
adapter: mysql2
database: db2_dev
username: root
password: xyz
host: localhost
production:
adapter: mysql2
database: db1_prod
username: root
password: xyz
host: your-production-ip
production_sec:
adapter: mysql2
database: db2_prod
username: root
password: xyz
host: your-production-ip
Здесь я использовал две базы данных для среды разработки и производства.
Теперь нам нужно подключить модель к базам данных. Когда вы запускаете ваше приложение в режиме разработки и производства, все модели будут отображаться с помощью параметров db разработки и производства, которые были упомянуты в вашем database.yml. Поэтому для некоторой модели нам нужно подключиться к другой базе данных.
Предположим, что у нас есть две модели User и Category. Таблица пользователей находится в db1_dev и db1_prod, таблица категорий в db2_dev и db2_prod.
Модель категории
class Category < ActiveRecord::Base
establish_connection "#{Rails.env}_sec"
end
Аналогично, когда вы добавляете новую миграцию для второй базы данных, необходимо добавить следующий код к ней.
class CreateRewards < ActiveRecord::Migration
def connection
ActiveRecord::Base.establish_connection("#{Rails.env}_sec").connection
end
def change
# your code goes here.
end
end
Надеюсь, это сработает для вас :).
Twisted - это в значительной степени ответ на все, что серьезно относится к сети- связанных с Python, но вам действительно нужно принять Twisted способ работы. По сути, это не P2P-стек, это цикл событий, система обратного вызова и сетевая структура.
Divmod Vertex в настоящее время не поддерживается, и, когда я пытался использовать его несколько лет назад, он все еще был довольно грубым.
CSpace может быть наиболее близким к тому, что вы ищете: «платформа для безопасного, децентрализованного, межпользовательского общения через Интернет.
На мой взгляд, лучший вариант, конечно, - это использовать twisted .
Старая версия BitTorrent была построена с его использованием. Ссылка на последнюю известную версию, в которой используется twisted. Вы можете изучить это как отправную точку.
Также есть Vertex . Это библиотека, которая использует twisted и позволяет p2p в обход межсетевого экрана.
Я не знаю, существует ли такая вещь, но могу предложить следующие альтернативы:
Я цитирую страницы Sun JXTA , которые имеют Дата декабря 2002,
«Проект JXTA имеет эталонную реализацию Java, доступную на download.jxta.org, и в настоящее время работает над добавлением эталонных реализаций на других распространенных языках, включая C, Objective C, Perl, Ruby и Python. реализация Java является наиболее полной реализацией протоколов JXTA, реализация C (доступная как для Win32, так и для Linux) быстро приближается к тому же уровню полноты ».