2014-08-30 4 views
0

Я запрограммировал приложение с использованием рельсов, и я могу развернуть его на одной машине. Он использует базу данных sqlite3, созданную на локальной машине.Конфигурирование удаленной базы данных sqlite3 на рельсах

Теперь мне нужно поставить этот бит на другую машину, но я понятия не имею, как это сделать. Я установил среду рельсов на другую машину и sqlite3. Я сконфигурировал файл database.yml таким образом:

development: 
    adapter: sqlite3 
    database: db/development.sqlite3 
    host: 172.**.**.** 
    pool: 5 
    timeout: 10000 
    username: username 
    password: password 

Однако ничего не происходит. Нужно ли мне что-то настраивать на другой машине? Я что-то упускаю? Извините, если я кажусь невежественным, это первый раз, когда я делаю что-то подобное.

+0

Можете ли вы SSH на машину db? – pangpang

+0

Да, я могу без проблем. –

+2

Sqlite - это файловая база СУБД, без обслуживания в сети. Но вы можете узнать из этого вопроса: http://stackoverflow.com/questions/21571277/how-to-connect-a-sqlite-database-in-remote-host –

ответ

2

Из коробки, нет, вы не можете, и это на самом деле не рекомендуется в SQLite own manual:

Если у вас есть много клиентских программ с доступом к общей базе данных по сети, вы должны рассмотреть возможность использования клиента/сервера ядро базы данных вместо SQLite.

Вы можете взглянуть на различные решения, построенные на базе SQLite, для решения этой проблемы here.

Однако гораздо лучшим решением было бы перейти на другую СУБД, такую ​​как MySQL или Postgresql. Это не должно сильно влиять на ваше приложение (поскольку ActiveRecord делает хорошую работу по изоляции вас от конкретной инструкции DB).

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