問題タブ [rails-migrations]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
69 参照

sql - 古いアプリから新しいアプリへの再定義された SQL データのインポート

Symfony (マウントに少し悪い趣味を残した) アプリケーションを Rails に書き直す (いくつかの新機能を追加して) ほぼ完了しました。古いアプリケーションから新しい Rails アプリにインポートする必要があるデータがいくらかあります。

問題は、スキーマが大幅に変更され、一部の外部キー値を更新する必要があることです。

データの再定義インポートに役立つアプリケーションがあるかどうか疑問に思っていますか、それともphpMyAdminを開いてデータベースの編集に時間を費やし、準備されたデータベースでRailsを実行する必要がありますか? (私の意見では、これは仕事をするための最良の方法ではありません)

0 投票する
23 に答える
445711 参照

ruby-on-rails - Railsの移行を使用して列を削除する方法

Railsの移行を通じてデータベーステーブルの列を削除するための構文は何ですか?

0 投票する
2 に答える
1250 参照

ruby-on-rails - 移行に更新ロジックを入れる

いくつかのモデルの設計をリファクタリングしたい状況に何度か遭遇し、最終的に更新ロジックを移行に入れました。ただし、私が理解している限り、これは適切な方法ではありません (特に、移行ではなく展開にスキーマ ファイルを使用することが推奨されているため)。このような問題にどのように対処しますか?

言いたいことを明確にするために、User モデルがあるとします。ユーザーには「通常の」ユーザーと管理者の 2 種類しかないと思っていたので、ユーザーが管理者かどうかを示す単純なブール値フィールドを使用することにしました。

しかし、しばらくして、モデレーターなどの第 3 の種類のユーザーが必要であると考えました。この場合、UserType モデル (および対応する移行) を追加し、ユーザー テーブルから "admin" フラグを削除するための 2 番目の移行を追加します。そして、ここで問題が発生します。「add_user_type_to_users」移行では、管理フラグの値をユーザー タイプにマップする必要があります。さらに、これを行うには、ユーザー タイプが存在する必要があります。つまり、シード ファイルを使用できず、移行でユーザー タイプを作成する必要があります (これも悪い習慣と見なされます)。状況を表す架空のコードを次に示します。

ご覧のとおり、問題のある部分が 2 つあります。最初に、すべての移行を連続して実行する場合に必要な最初のモデルの行作成部分、次に「admin」列を「type_id」列にマップする 2 番目の移行の「更新」部分です。

何かアドバイス?

0 投票する
2 に答える
345 参照

ruby-on-rails - Rails の外部キー関係

私は Rails の初心者であり、Rails は、テーブルの作成中に移行ファイルのモデル レベルとデータベース レベルで外部キー関係を強制することを読みました。本当に必要なのか、どんなメリットがあるのか

0 投票する
2 に答える
4553 参照

ruby-on-rails - ruby-on-rails の rake db:migrate:down のショートカット

rake db:migrate と同等の移行ダウンを行う簡単な方法があるかどうかを知りたいです (移行アップの場合)。実行する代わりに: rake db:migrate:up VERSION=1, rake db:migrate:up VERSION=2, ... 実行できます: rake db:migrate! しかし、次の場合: rake db:migrate:down VERSION=10, rake db:migrate:down VERSION=..., rake db:migrate:down VERSION=1, ショートカットはありますか?

あなたの助けのためにタンク!

0 投票する
2 に答える
767 参照

ruby-on-rails - Rolling up Migrations?

As I understand it the point of migrations is so you can revert the database back to a known state during the last stages of development.

Right now I'm still "fleshing" out my first Rails app and I'm wondering if its ok to roll up my migrations into bigger ones rather than dozens of changes.

0 投票する
1 に答える
1281 参照

ruby-on-rails - Railsが日時列に文字列をnullとして保存するのはなぜですか?

検証をテストしているときに、この特異性に遭遇しました。移行は次のように定義されています。

irbで

私の質問は、ActiveRecord が単に :window_end = "not a time" を設定するのではなく、"not a time" を nil と解釈するのはなぜですか? :window_end を int に設定すると、同じ nil への変換が発生します。

これが私にとって問題である理由は、誰かが Time 以外の値を :window_end (または :window_start) 列に保存しようとすると、エラーがスローされるようにしたいのですが、ここではそうではありません。

ありがとう。

0 投票する
3 に答える
710 参照

ruby-on-rails - Rails の移行 - 古い移行の変更点を探しますか?

mig1 と mig2 の 2 つの移行がある場合、rake db:migrate を実行し、次に mig1 に戻って列のデフォルト値を変更します。rake db:migrate を再度実行すると、この変更は反映されますか? または、その列だけを変更するには、新しい移行を行う必要がありますか?

0 投票する
6 に答える
35186 参照

ruby-on-rails - Railsの移行で、フィールドの制限をどのように削除できますか

以下は正しいですか?

0 投票する
1 に答える
1154 参照

ruby-on-rails-3 - データベースの移行方法 Rails3 + datamapper

datamapperがrails-3にフックできるようにするdm-rails gemを使用し、足場と移行ファイルを生成し、データベース移行のためにrake db:migrateを実行しましたが、エラーも移行も何も起こりません。 datamapper と rails-3。