問題タブ [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.
ruby-on-rails - Rails移行で列を削除すると、列に関連付けられたインデックスが削除されます
Rails 2 では、Rails 移行で列を削除すると、列に関連付けられているインデックスも変更/削除されますか? そうでない場合、代わりに各インデックスを手動で変更/削除する必要がある場合は、代わりに自動化すべきではありませんか?
ありがとう(Rails初心者から)
ruby-on-rails - rails3 移行で「PGError: エラー: 現在のトランザクションが中止されました」
私は Rails 3.0.9 と Ruby 1.9.2 (p290) を使用しています。Postgresql 9.0.4 と 'pg' gem v0.11.0 を使用
問題は :
条件付きで列の値を変更するだけで、非常に簡単な移行ができました。
すべてのリクエストは、私の erb コンソールと pgAdmin SQL のコンソールでも完全に機能しますが、移行を実行すると次のように表示されます。
アイデアとして誰か...
エラー メッセージ スタックの大部分は次のとおりです。
== MigrateClosets: 移行中 ============================================ ==== レーキが中止されました! エラーが発生しました。これ以降の移行はすべてキャンセルされました:
ruby-on-rails - Railsテストデータベースでmysql関数を作成するには?
Rails アプリ用に Mysql 関数を作成し、手動でデータベースに追加しました。Rails UNIT テストを使用して関数をテストしたい場合、以下のようなエラーが発生します
テスト スイートから、またはテスト実行の開始時に関数を追加する方法は?
よろしくお願いします。
ruby-on-rails - Railsオブザーバー、プラグイン、移行は競争に参加していますが、誰が勝ちますか?
Railsアプリケーションに2人のオブザーバーを追加しました。これで、移行を最初から実行すると、テーブルが存在しないというエラーが表示されます(まあ、まだ移行していません)。column_namesを要求するモデルのプラグインがロードされているため、エラーがスローされます。
application.rbのオブザーバー行をコメントアウトしてもエラーがスローされないため、オブザーバーがモデルのロードを引き起こしていると想定しています。
オブザーバーとモデルをロードせずに移行を実行するにはどうすればよいですか?
また
移行の実行時にエラーをスローしない方法でプラグインのcolumn_namesを要求するにはどうすればよいですか?
activerecord - ActiveRecord Migrations 複数のデータベース
現在のスキーマ内のいくつかのテーブルを別のデータベースに移動する必要があります。これらのテーブルのバイナリ ログをオフにする必要があり、Mysql では特定のテーブルのバイナリ ログをオフにできないためです。
そのため、同じプロジェクト内の 2 つの異なるスキーマで移行を実行できるかどうか疑問に思っていました。
ruby-on-rails - タイムスタンプを既存のテーブルに追加する
タイムスタンプ ( created_at
& updated_at
) を既存のテーブルに追加する必要があります。次のコードを試しましたが、うまくいきませんでした。
ruby-on-rails - 移行にシーケンスを追加してモデルで使用するにはどうすればよいですか?
Customer
通常の主キーとカスタムの「顧客番号」を格納するための別の列を持つ「」モデルが必要です。さらに、データベースでデフォルトの顧客番号を処理する必要があります。シーケンスを定義することがそれを行うための最良の方法だと思います。私はPostgreSQLを使用しています。私の移行を見てください:
シーケンスを追加するためのより良い「レールのような」アプローチを知っているなら、私に知らせてください。
今、私が次のようなことをすると
フィールドcustomer_no
には、シーケンスの次の値(1002である必要があります)が事前に入力されていません。
シーケンスを統合する良い方法を知っていますか?または、良いプラグインはありますか?すべての答えに乾杯!
mysql - Railsの移行:動的コードを使用したupdate_allは可能ですか?
テーブルに新しいフィールドを追加したいのですが。
ユーザーモデルの新しい「secret_code」フィールドは、Digest :: SHA1.hexdigest([Time.now、rand] .join)[1..12]と同じである必要があります。
私がやろうとしているのは、フィールドをテーブルに追加し、既存のユーザーに(一種の)一意の「secret_code」を追加する移行を生成することです。
問題は、この移行によって既存のすべてのユーザーに同じシークレットコードが入力されることです。
1つの解決策は、update_allを使用せず、ループを実行してすべてのユーザーをフェッチし、各ユーザーに更新を送信することですが、この場合、移行は非常に遅くなります。
「一意の」ランダムな値をupdate_allメソッドに送信する方法はありますか?
ありがとう、アウグスト
ruby-on-rails-3.1 - Ruby on Rails 3 チュートリアルのバグ 13 章
Rails 3 チュートリアルの「サンプル アプリケーション」を rails 3.1 にアップデートしました。サイトを使用していて、ログインしているユーザーが別のユーザーをフォロー/フォロー解除しようとすると、ログから次のメッセージが表示されることを除いて、すべてがスムーズに進みました。
その関連付けを作成するのは初めてなので、操作は機能するはずです。そのエラーの後、ユーザーに戻るためにサーバーを再起動する必要があります。そうしないと、サーバーはスローを続けます。サンプルは次のとおりです。
したがって、再起動後にユーザーに戻ると、とにかくレコードが作成されていることがわかります。しかし、そのリレーションを削除しようとすると、そのログ ファイルから次のエラーが表示されます。
繰り返しますが、ユーザーのページに戻ると、関係が削除されていることがわかります。理由もなく例外がスローされたかのように見えます。実際、following/follower 関係を rspec-test すると、すべてが正しく機能します。さらに、rails 3.0 を使用する sample_app のバージョンは完全に動作します。
Rails 3.1 のコンテキストで gem の 1 つにバグがある可能性はありますか? 役立つ場合に備えて、私のGemfileのリストを次に示します。
前もって感謝します、
ruby-on-rails - Rails/MySql 移行の統合
MySql DB で Rails アプリを実行しています。
移行を統合する方法はありますか? 例えば:
と呼ばれる非常に大きなテーブルがあり、そのテーブルにmembers
列を追加する移行を作成しname
、後で別のフィールドaddress
を追加してフィールドにインデックスを追加する別の移行を作成するとしaddress
ます。
今すぐ移行を実行すると、テーブルが 3 回変更されます: add name
、 add address
、および add index 。そのたびに、alter table コマンドは実際に新しいテーブルを作成し、すべてのデータをそこにコピーして、古いテーブルを削除します。
私の場合、members
テーブルは非常に大きく、1,000 万を超えるレコードがあるため、各変更には数時間かかります。
変更を 1 つの変更に統合する方法はありますか?