2

したがって、私はデータベースを扱うのにかなり慣れていませんが、データベースがローカル マシン上にある場合は意味があります。しかし、遠くにあるデータベースや別のコンピューターにあるデータベースをどのように扱うのでしょうか? 接続設定はどうなっていますか?そのデータベースをいじるように Ruby に指示するにはどうすればよいでしょうか? SQLite はローカル マシン上にある必要があると思いますが、PostgreSQL や MySQL はどうですか? 大規模なプロジェクトでは、この種のデータベースを別の場所にセットアップする必要があると確信しています。

また、これは、チーム全員が同じデータベースと対話できる必要があることを意味しますよね?

記事を見つけて読んでみましたが、これに関する情報が見つからないようです。

4

3 に答える 3

6

Ruby on Rails には、config/database.ymlデータベース接続を行うためのファイルがあります。リモート システムのデータベースに接続するには、次のようにします。

1 - リモート システムのデータベースにアクセスする権限をシステムに付与します

パスワードで識別されるシステムの username@ipaddress に databasename.* のすべてを許可します。

2 - database.yml ファイルを更新する

development: 
 adapter:   mysql  
 database:  databasename  
 username:  username  
 password:  password  
 host:      ip of remote system
于 2013-05-24T06:54:30.370 に答える
1

これらのデータベースは、ローカル プログラムがアクセスする単なるファイルではないことを忘れないでください。それらはそれ自体がサーバーであり、ローカル プログラムは、データベース サーバーが処理して結果を返すように要求 (選択、挿入など) をデータベースに送信します。 .

これは、複数のチームが同じデータベースにアクセスできる理由も説明しています。データベース サーバー プロセスは、同時に複数のプログラムと通信しているだけです (そして、すべてのチームが同じテーブルにアクセスして変更しているときに、どのプログラムがどのデータを参照するかの解決は、その 1 つです)。データベースが非常に複雑な理由)。

したがって、データベースの場所は、ネットワーク経由でリクエストを送信したり、そこから結果を取得したりするのに時間がかかるという点でのみ関係があります。

于 2013-05-24T07:32:42.547 に答える
1

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
于 2013-05-24T06:47:46.210 に答える