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

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

新規登録して質問してみよう
ただいま回答率
85.50%
date

dateは、date型や日付に関する関数や処理についてのタグです

Ruby on Rails 5

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

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

1回答

1312閲覧

rails db:migrateでカラム更新について

退会済みユーザー

退会済みユーザー

総合スコア0

date

dateは、date型や日付に関する関数や処理についてのタグです

Ruby on Rails 5

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

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2018/09/13 07:45

こんにちは。

rails db:migrateについて不明点があり投稿しました。

railsでは、一度migrateファイルを作成した後、

⑴migrateファイル自体にカラムを追加し、rails db:migrateする方法

⑵addで新たにファイルを追加してからrails db:migrateする方法

があるかと存じます。

⑴のやり方で今までdatabaseを更新してきたのですが、rails db:migrateではファイルが更新されなくなってしまいました。

rails db:resetをすれば更新が確認出来るのですが、データ自体が全て消えてしまうので、避けたく考えております。まずこの症状の場合に更新出来る方法はありますでしょうか?

また、⑵についてはaddやremoveでファイルの増減を行うかと存じますが、作成過程上、ファイル情報を追加や変更、削除が多くなる関係もあり、ファイルが乱雑でみにくくなるので出来れば使いたくありません。

適切な方法はありますでしょうか?

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

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

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

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

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

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

guest

回答1

0

⑴migrateファイル自体にカラムを追加し、rails db:migrateする方法

基本的に、一度反映して次のマイグレーションができた後はやってはいけません。マイグレーションはファイル単位でどれを反映したか管理していますので、ファイルを書き換えてしまうと混乱しか生みません。

ファイルが乱雑でみにくくなるので出来れば使いたくありません。

でしたら、標準では難しいです。jalkoby/squasherで個々のマイグレーションをまとめる、あるいはwinebarrel/ridgepoleで、マイグレーションという形ではなくデータベースを管理する、といった手法を検討してもいいかもしれません。

投稿2018/09/13 07:56

maisumakun

総合スコア145121

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

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

退会済みユーザー

退会済みユーザー

2018/09/13 08:03

ご回答ありがとう御座います。 それでは今までadd〜やremove〜は使用したことがなかったのですが、作成の都度ファイルを作成すると言う事でしょうか? (例えばpostsと言うmigrateファイルを10回追加すると10個のファイルが出来上がると言う事でしょうか?)
maisumakun

2018/09/13 08:06

そうですね、テーブル変更1回につき1ファイルという感じです(一気に複数列追加のような場合は1ファイルで大丈夫です)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問