所以,我对处理数据库还很陌生,当数据库在本地机器上时,这对我来说很有意义。但是,我将如何处理远离/在另一台计算机中的数据库?连接设置如何?我怎么能告诉 Ruby 玩弄那个数据库呢?我认为 SQLite 需要在本地机器上,但是 PostgreSQL 或 MySQL 呢?我很肯定大型项目需要在其他地方设置这种数据库等等。
此外,这意味着团队应该能够与同一个数据库进行交互,对吗?
我已经尝试查找文章并阅读有关它的文章,但我似乎找不到任何有关此的信息。
所以,我对处理数据库还很陌生,当数据库在本地机器上时,这对我来说很有意义。但是,我将如何处理远离/在另一台计算机中的数据库?连接设置如何?我怎么能告诉 Ruby 玩弄那个数据库呢?我认为 SQLite 需要在本地机器上,但是 PostgreSQL 或 MySQL 呢?我很肯定大型项目需要在其他地方设置这种数据库等等。
此外,这意味着团队应该能够与同一个数据库进行交互,对吗?
我已经尝试查找文章并阅读有关它的文章,但我似乎找不到任何有关此的信息。
在 ruby on rails 中,我们有一个config/database.yml
可以进行数据库连接的文件。要连接到远程系统的数据库,请执行以下操作:
1 - 授予您的系统访问远程系统数据库的权限
将 databasename.* 上的所有权限授予由密码标识的系统的 username@ipaddress
2 - 更新 database.yml 文件
development:
adapter: mysql
database: databasename
username: username
password: password
host: ip of remote system
为您的 Rails 应用程序配置 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
不要忘记,这些数据库不仅仅是本地程序访问的文件——它们本身就是服务器,本地程序向它们提交请求(选择、插入等),供数据库服务器处理并返回结果.
这也解释了为什么多个团队可以访问同一个数据库——数据库服务器进程只是同时与多个程序通信(当它们都访问和更改同一个表时,哪个程序看到哪些数据的解决方案是其中之一数据库如此复杂的原因)。
因此,数据库的位置只是相关的,因为通过网络向它发送请求并从中检索结果可能需要更长的时间。