質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

2回答

585閲覧

【Ruby on Rails】既存のデータベースを使って開発する方法

lef

総合スコア12

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2019/08/25 05:32

プログラミング初心者です。
会社の研修で、webサービスを作る課題を与えられました。

会社で使っているテストサーバーで、ruby on railsを用いて開発する必要があります。
ローカルでrailsサーバーを立てる方法は学んだのですが、既存のサーバーと繋げる方法が調べてもよくわかりません。

どういう設定をすれば良いのでしょうか?
また、サーバーと接続するためには、(具体的に)何の情報が必要でしょうか?

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/08/25 07:28

> テストサーバー > 既存のサーバー 「何の」サーバですか?
lef

2019/08/25 07:33

弊社が運営するアプリ内のユーザー情報や行動ログなどが入っているサーバーです。 (ご質問の意図とずれていたらすみません)
winterboum

2019/08/25 07:36

「サーバと接続する」とは どういうことでしょう? 1)そのサーバ上に既存アプリと関係なく、開発したRailsアプリを実行させる 2)既存アプリのDBの情報を使う 3)あとなんだろう
退会済みユーザー

退会済みユーザー

2019/08/25 07:37

・アプリケーションサーバ ・Webサーバ ・データベースサーバ どれでしょうか。
lef

2019/08/25 07:51

意図が汲み取れておらずすみません。 データベースサーバのことです。既存アプリのDBの情報を使って開発をしたいです。 そのためには、データベースの何の情報がわかれば接続出来るでしょうか?
gouf

2019/08/25 08:17

データベースにアクセスするための認証情報、たとえば ID/パスワードは既知の状態ですか? 会社の研修ということですが、質問に答えてくれるひとはいないのでしょうか...? (既存のデータベースであればモデル側にも「table_name = "name_of_existing_table"」みたいに手動での設定が必要になるかもしれませんね)
lef

2019/08/25 08:28

認証情報は上司が知っており、質問すれば返してもらえます。 ただ、「データベースと繋げる方法を教えてください」のような大まかな内容ではなく、「○○と○○の情報を教えてください」という聞き方をする必要があります。 もらう情報としては、データベースの認証情報(Host、port、パスワードでしょうか?)のみで良さそうでしょうか?
gouf

2019/08/25 08:34

データベースエンジンが何であるか MySQL, Postgres, SQLite3 etc... わかっていれば (あるいはそれも質問して)、config/database.yml を参照して、そこに記述すべき内容を訊けばよさそうですね (rails new の初期化時に、使用するデータベースを指定して上げる必要があるかもしれません)
lef

2019/08/26 06:20

MySQLを使っていることがわかりました! また、Server、Host、Driver、DB、User、Cipherなどがわかりましたが、他に情報必要でしょうか?(普通、パスワードなどあるのでしょうか?)config/database.yml 見たのですが、これで揃ってるのかわからず...???? ちなみに、MySQLは自分のPCにもインストールしてログイン(接続?)しておくなどの必要がありますでしょうか?
退会済みユーザー

退会済みユーザー

2019/08/26 06:25

> ちなみに、MySQLは自分のPCにもインストールしてログイン(接続?)しておくなどの必要がありますでしょうか? 書いてくださった条件に従う限りでは、必要ありません。 ただ、(サーバではなく)クライアントとして使う場合のパッケージのインストールは必要になると思います。 > 普通、パスワードなどあるのでしょうか? あります。必要です。 一点、お伺いしたいのですが、これから作ろうとしているアプリケーションは、「データベース(データ)を一から作る」ということでいいでしょうか?それとも、既存のデータを用いるのでしょうか。
lef

2019/08/26 07:03

ご回答ありがとうございます! MySQLクライアントをインストールしておきます。 パスワードも聞いておきます。 これから作るアプリはデータベースを1から作るのではなく、既存のDBのテーブルから情報を持ってきてアプリケーション上に表示させたり、追加更新したりすることを考えています。
guest

回答2

0

それはかなり高度な内容です。そのつもりでとりかかって下さい。

そのDBは何でしょう、MySQL? ポスグレ? railsがサポートしているRDBでなければ諦めて下さい。

サポートしているRDBであった場合、そのrdbを使うというオプションで rails new して下さい。

既存のDBでrailsを動かす(Railsに必要なtableを追加する)ことはできないでしょうから、config/database.yml は別のDBを作り、既存のDBを読むのは特別な接続宣言をします。
そのために必要なのは
1)動いているサーバのIPアドレス、または DNSでホストが登録されていたら、ホスト名。
2)DBの接続用のport
3)Read権のあるユーザ名とパスワード
write権のあるアカウントだと怖いから避ける方が賢明です。
4)接続したい database名と必要なtable名。

ここまで得られるようでしたら、次は「rails 複数のDBにアクセスする」辺りで検索すると色々出てきます。

投稿2019/08/25 08:01

winterboum

総合スコア23329

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lef

2019/08/25 08:41

ご回答ありがとうございます! ソフトウェアの種類は確認中ですが、railsでサポートしているもののはずです。 既存のデータベースのみを使うのではなく、「複数のDBにアクセスする」という考え方なのですね。 既存DBの情報がわかったら、進めてみます。わからないことがあったら、また質問させてください。
winterboum

2019/08/25 08:45

> 既存のデータベースのみを使うのではなく、「複数のDBにアクセスする」という考え方なのですね。 「会社の研修で」ということですと、動いているシステムを触らせるということはあり得ないんで、多分
winterboum

2019/08/25 08:48

Model を Rails に沿って設計 は、既存DBにアクセスが成功してから考えればよいです。アクセするtable名やカラム名が判ってから。 運良く既存のDBがRailsで動いていたら、気にせずに済みますし。
lef

2019/08/26 06:58

MySQLを使っていることがわかりました! また、Server、Host、Driver、DB、User、Cipherなどもわかりました。あとは、サーバーのIPアドレスとユーザーのパスワードがわかれば良さそうでしょうか? table名やカラム名などは、別のPCで見れます!TablePlusというSQLクライアントを使っているのですが、ここから上記の情報がわかりました。 もし知っていたらで良いのですが、TablePlusから昨日ご教示いただいた情報は全てわかるのでしょうか?
lef

2019/08/26 07:05

ホスト名がわかればIPアドレスはなくても大丈夫でしょうか?
winterboum

2019/08/26 07:09

DNSに登録してあれば
winterboum

2019/08/26 07:10

> TablePlusから昨日ご教示いただいた情報は全てわかるのでしょうか? TablePlusというのは使ったことがないのではっきりとはわかりません。
guest

0

ベストアンサー

  1. データベースのソフトウェアの情報が必要です

たとえば、MySQL とか PostgreSQL とかです。そのソフトウェアに応じて、gemファイルをインストールしたり、config.yml に書く情報が変わります

  1. データベースの接続情報が必要です

前項に関連して、データベースがあるサーバのIPアドレスや、ユーザアカウントの情報、データベース名などの情報が必要です

  1. Model を Rails に沿って設計する必要があります

既存のデータベースのテーブル名を用いて Model を設計します。
ぎこちない命名になるかもしれませんが、Rails に乗っかるためには必要なことです。

投稿2019/08/25 07:57

編集2019/08/25 07:58
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lef

2019/08/25 08:35

ご回答ありがとうございます! 1. おそらくMySQLかと思いますが、現在確認しております。わかりましたら改めてご連絡いたします。 2. 承知いたしました、ありがとうございます。 3. "Railsに沿って設計"とは、具体的にどのようなことでしょうか?記事などでも良いので教えていただけましたら幸いです。
退会済みユーザー

退会済みユーザー

2019/08/25 09:19

いったん本題からは外れますが、これから作ろうとしているアプリケーションは、「データベースを一から作る」ということでいいでしょうか?それならばいくつかの内容は杞憂ですので省略できます。 「既存のデータを用いる」のでしたら、goufさんのご指摘どおり、 ``` table_name = "name_of_existing_table" ``` などが必要になります(これが「3.」のことです)。
lef

2019/08/26 06:50

MySQLを使っていることがわかりました! また、Server、Host、Driver、DB、User、Cipherなどもわかりました。あとは、サーバーのIPアドレスとユーザーのパスワードがわかれば良さそうでしょうか? また、これから作るアプリはデータベースを1から作るのではなく、既存のDBのテーブルから情報を持ってきてアプリケーション上に表示させたり、追加更新したりすることを考えています。 3. のことに関して承知いたしました。自分でも調べてみます。
退会済みユーザー

退会済みユーザー

2019/08/26 07:10

> サーバーのIPアドレスとユーザーのパスワードがわかれば はい、大丈夫です。ただ、ユーザーについては、権限等に注意してください(誤操作をして全削除ができる権限でも許容されるか、など)。 > 既存のDBのテーブルから情報を持ってきてアプリケーション上に表示させたり こちら承知しました。それならば gouf さんのおっしゃるとおりの対応がひつようになるかと思います。がんばってください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問