如何与不同计算机/远处的数据库进行交互? (红宝石)

时间:2013-05-24 06:44:15

标签: ruby-on-rails ruby database

所以,我对处理数据库相当新,当数据库在本地机器上时,对我来说很有意义。但是,我如何处理远离/不同计算机的数据库?如何建立连接?我怎么能告诉Ruby玩这个数据库玩具?我认为SQLite需要在本地机器上,但是PostgreSQL或MySQL呢?我很积极的大项目需要在其他地方和其他地方建立数据库。

另外,这意味着团队应该能够与同一个数据库进行交互,对吗?

我试过找文章并阅读它,但我似乎找不到任何有关此事的信息。

3 个答案:

答案 0 :(得分:6)

在ruby on rails上,我们有一个config/database.yml文件,我们可以在其中进行数据库连接。 要连接到远程系统的数据库,请执行以下操作:

1 - 授予您的系统访问远程系统数据库的权限

将所有数据库名。*全部授予由密码

标识的系统的用户名@ ipaddress

2 - 更新database.yml文件

development: 
 adapter:   mysql  
 database:  databasename  
 username:  username  
 password:  password  
 host:      ip of remote system

答案 1 :(得分:1)

为rails app配置database.yml

development:
  adapter: mysql
  database: development_database
  username: root
  password: [password]
  host: localhost
test:
  adapter: mysql
  database: test_database
  username: root
  password: [password]
  host: localhost
production:
  adapter: mysql
  database: production_database
  username: root
  password: [password]
  host: localhost

答案 2 :(得分:1)

不要忘记这些数据库不仅仅是本地程序访问的文件 - 它们本身就是服务器,并且本地程序向它们提交请求(选择,插入等)以供数据库服务器处理和返回结果。

这也解释了为什么多个团队可以访问同一个数据库 - 数据库服务器进程只是同时与多个程序进行通信(以及哪个程序在访问和更改相同表时查看哪些数据的分辨率是数据库如此复杂的原因之一。)

因此,数据库的位置只是相关的,因为它可能需要更长的时间才能通过网络发送请求并从中检索结果。