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

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

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

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

Q&A

解決済

2回答

1153閲覧

開発初期段階でDBを作り直すことは悪手か

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby on Rails

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

0グッド

0クリップ

投稿2018/09/27 08:49

編集2018/09/28 02:33

前置き

コードの話ではなく、Railsでの開発の進め方の質問です。
プログラミングに関係のない質問に抵触するかと思いましたが、
全く関係がないわけではないので質問させていただきます。

開発初期段階におけるDBのリセットの是非について

DBを作成したあと、中身がほとんどなく、全て消えてしまっても全く問題がない状況で
テーブル作成のマイグレーションファイルを書き換えてDBをリセットすることは悪手なのでしょうか。
この書き換える内容というのは、カラムや制約の追加、カラム名の変更のことです。
DBを作成した後におかしな点に気づいて修正したいというのが今回の状況です。
運用途中や、何か変更があっては困るデータがすでに入っている状況ではもちろん悪手ですし、
変更するごとにマイグレーションファイルを残しておくことで、
変更の履歴がわかるというのは理解していますが、
初期段階におけるDBのリセットは悪手になりうるのでしょうか、
私個人は、むしろ後々ファイル名が被っていくことなどを考慮すれば、
初期段階にいたずらにマイグレーションファイルを作成していくほうが悪手なような気がしています。

ただ、開発の経験はまだまだ浅いので、この認識が間違っているという可能性は十分にあります。
皆様の意見を聞かせていただければ幸いです。

ベストアンサー選出について

評価の一番高かったものを選出させていただきました。

謝辞

きちんと理由も添えての回答、ありがとうございました。
おかげで理解が深まりました。
今後ともよろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

ベストアンサー

むしろ、開発段階ではどんどん書き換えて行き、完全な状態のテーブル構造にするべきです。
運用が始まったらそういうわけには行かないので、カラムの追加などをせざるを得ないだけです。

投稿2018/09/27 09:09

mingos

総合スコア4025

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

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

退会済みユーザー

退会済みユーザー

2018/09/27 09:27

回答ありがとうございます! 自分の考えに自信が持てました。
guest

0

個人開発で開発環境の初期段階であれば問題ないと思います。
むしろ私も直しておくべきかと思います。

しかし、作成したDBおよびテーブルがリリースされているのであれば
リセットするべきではありません。
また、チーム開発では初期段階であってもリセットするのはまずいです。

投稿2018/09/27 09:37

dice142

総合スコア5158

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

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

退会済みユーザー

退会済みユーザー

2018/09/27 09:59

チーム開発でリセットがまずいのはコンフリクトやコード中のカラム名を書き換える必要があるからでしょうか?
dice142

2018/09/27 10:14

そうですね。 例えばAさんが最初にデータベース、テーブルを作ったとし、他の人達も同じデータベース環境を個々のPC環境に入れます。 Bさんはそのテーブルを元にデータを入れながら開発します。 Cさんもそのテーブルを元に膨大なデータを入れてから別なタスクの開発をします。 で、Aさんがやっぱりデータベースの作り方が悪いと、一から作り直しみんなに知らせました。 ===ここで最初のテーブルを使ってたB,Cさんがキレます=== こういうときは素直にデータが入っていることを見据えた変更用のmigrateファイルを作り共有すると、 新しいテーブルとか書き換えたテーブルにデータ移行をできるので、たぶん誰にも迷惑がかかりません。 まあデータベース系は話し合ってから作るものではありますが、 一例としてこういうことがありますよという参考にしていただければと。
退会済みユーザー

退会済みユーザー

2018/09/28 00:13

なるほど、参考になります。 ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問