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

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

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

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

Q&A

解決済

1回答

603閲覧

Rails テーブルの作成

mika2002

総合スコア20

Ruby on Rails

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

0グッド

1クリップ

投稿2020/06/03 00:24

現在、RailsのAPIモードでDB、テーブル構造を作成しているのですが、わからないことがあります。
助けて頂けると幸いです。

手元に、人から受け取った、完成したSNSアプリのコードがあるのですが、そのDB、テーブル構造と同じものを自分の手元の他のプロジェクト(以下参考プロジェクト)に、作りたい、となった場合、手順としてはどのようにするのが良いのでしょうか?

テーブル構造を変えるのは、

rails g model ~~ ~~~~

としてマイグレーションファイルを作成し、

rails db:migrate

だとおもうのですが、こういった場合どうするのが効率がよいでしょうか、、
・正しいかわからないですが、参考プロジェクトと同じマイグレーションファイルをrails generateで作成し、同じだけrails migrateしていく??のかなと思いました。

・その上で、生成されたapp/models/user.rbなどのモデルにバリデーションやhas_manyなどの関係性を参考プロジェクトからコピペしていく。

ざっくりとした質問になってしまったのですが、DB、テーブル構造の理解が浅いので、教えて頂けると嬉しいです!
よろしくお願い致します。

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

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

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

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

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

winterboum

2020/06/03 01:16

そのアプリのコードがRailsなら、db/migeationsはついてませんか? db/schema.rb は?」
mika2002

2020/06/03 03:47

参考プロジェクトもRailsです。 db/migrate/というディレクトリの中にマイグレーションファイルはあります。 db/schema.rbもあります!
guest

回答1

0

ベストアンサー

「db/migrate/というディレクトリの中にマイグレーションファイルはあります。」
でしたらば
config/database.yml の設定を調整するだけで
rails db:create
rails db:migrate
でいけます

投稿2020/06/03 04:48

winterboum

総合スコア23403

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

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

mika2002

2020/06/03 06:58

ありがとうございます! 参考にしているプロジェクトには、db/migrate/というディレクトリの中にマイグレーションファイルがありますが、 今、作成しようとしているプロジェクトの中にはない状態なのですが、それでもその方法で可能でしょうか? > config/database.yml の設定を調整 こちらはどういうことをするのでしょうか?
winterboum

2020/06/03 08:01

「そのDB、テーブル構造と同じものを自分の手元の他のプロジェクト(以下参考プロジェクト)に、作りたい」 ということでしたら、そっくりcopyしてください > config/database.yml データベース名、ユーザ名、パスワード、ソケットなどを修正する必要があるかと思います。
mika2002

2020/06/03 14:46 編集

あ、ちょっとイメージが掴めてきました!! db/migrateディレクトリ毎コピペして、その後でrails db:migrateをすれば、同じテーブル構造になる、ということですね? app/models/user.rb等の記述もそれに伴って自動的に書き換えられて、当然schema.rbにも反映される。ということですよね? データベース名、ユーザ名、パスワード、ソケットについては確認してみます!
winterboum

2020/06/03 20:31

db:migrateはschema.rbには反映されますが、modelsなどは影響しません。
mika2002

2020/06/04 09:28

ありがとうございます! あ、本当ですね、、 modelsは自分でメモっておいて新しい物にコピペするなりしないといけないですね? ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問