問題タブ [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 - 機能ブランチでの移行タイムスタンプの更新
メイン ブランチ (devlop) とフィーチャー ブランチの両方で活発な開発が行われているとします。どちらも時々移行を追加しています。フィーチャー ブランチをメイン ブランチにマージする前に、メイン ブランチにリベースします。
したがって、最新の開発ブランチの移行の後にすべての機能ブランチの移行が行われるのは理にかなっています。
これらのファイルの名前を変更する便利な/推奨される方法はありますか? ダミーの移行を生成し、それらに対して生成されたタイムスタンプを再利用することはできますが、私が知らないベスト/一般的な方法があるのだろうか?
ruby-on-rails - Railsモデルの関係
こんにちは仲間の開発者!最近、私はRails 3.0で遊んでいますが、かなりの調査を行った後、ちょっと行き詰まりました。私の場合、どのアプローチまたは解決策が最適か知りたいです(まだ答えが見つかりませんでした)。ですから、私が達成しようとしていることは、単純明快です。
私はこのようなことをしたい:
したがって、最後に、すべてのユーザーのフィードを取得するUser.first.feedsや、フィードを介してすべてのユーザーのキャストを取得するUser.first.castsなどのメソッドが必要です。また、Feed.first.castsとFeed.first.usersがあると便利です。非常に単純ですが、私が達成しようとしていることの移行を作成するのにも苦労しています。
上記のコードが機能しないことはわかっています-私はそれで遊んでいるので、これは私が達成しようとしていることの概念にすぎません。
基本的に私の質問は次のとおりです:どういうわけか結合モデルを介してそれを行うべきですか、それともスコープを使用するべきですか?(コードスニペットを与えることもできます)そしてそのための移行をどのように行うのですか?
おかげで、申し訳ありませんが、この単純なケースに関する多くの情報をWeb上で見つけることができませんでした。
編集:has_and_belongs_to_many on User and Feedは、私の場合は機能しません。これは、@ user.castsを使用できないため、@user.feedsと@feed.usersのみを提供するためです。
ruby-on-rails-3 - rails migration を使用してデータベースのフィールドを編集できますか?
すべてが特定のサイトを指しているリンクのデータベースがありますが、そのサイトの異なるページです。サイトのドメインが変更されたため、その変更を反映するようにデータベースを更新する必要があります。ドメイン名を変更するだけで、残りのリンクは正常に機能します。
私の質問は、これを行うためにレール移行を使用できますか? 列のすべてのフィールドを編集して更新するには? これはどのように見えるでしょうか?
他にもアプローチする方法があることは承知していますが、Rails 移行のオプションを検討したいと思います。
前もって感謝します!
ruby-on-rails - schema.rb に add_index の :unique が含まれていない
次の移行があります。
移行を実行すると、開発データベースに UNIQUE キーが正しく作成されますがschema.rb
、 :unique フラグがありません。これにより、テスト データベースに UNIQUE インデックスがありません。
結果の schema.rb の行は次のようになります。
ここで何か間違ったことをしていますか?
(Rails 3.0.8、MySql2 gem)
ruby-on-rails - Rails にテーブルが存在するかどうかを確認する
テーブルが存在しないと機能しないレーキ タスクがあります。私は Web サイトで 20 人以上のエンジニアと協力しているので、それぞれのテーブルに入力するレーキ タスクを実行する前に、彼らがテーブルを移行したことを確認したいと考えています。
ARには次のような方法がありTable.exists
ますか?テーブルが正常に移行されたことを確認するにはどうすればよいですか?
ruby-on-rails - Railsのテーブルに列として配列を作成できないのはなぜですか?
なぜ私はこのようなことをすることができないのですか?
配列(「リンゴ」)をFruitクラスのインスタンスの属性にする他の方法はありますか?
ruby-on-rails - 1回の移行で複数のテーブルを作成(削除)する
1つのレールで3つの移行で複数のテーブル(self.up)を作成することは可能ですか?これが可能である場合、そのようなアプローチを使用する際の従来の知識は何ですか。移行ごとに1つのテーブルを保持する方がよいとのことですが、レールに乗ったベテランのルビーをチェックするだけだと思いました。
ありがとう。
ruby-on-rails - 一部のハードコードされたファイルをアクティブレコードモデルに変更するための良い方法は何ですか?
現在、私の製品モデルにはカテゴリの文字列列があり、フォームには製品モデルの配列から値を取得するselectがあります。現在、可能なカテゴリは、wood_stoves、arborist_gear、chainsawsの3つだけです。それぞれのカテゴリの製品を一覧表示する、それぞれのアクションを備えたコントローラーがあります。
カテゴリをデータベーステーブルに切り替えて、has_manyとbelongs_toの関係でその中に製品をネストしています。これが私の質問です。次のことは悪い考えですか?
- wood_stoves、arborist_gear、chainsawsのそれぞれのレコードを作成します。
- 製品/カテゴリ列の各値を、新しく作成されたカテゴリレコードからの対応するレコードID整数に変換する移行を作成します。
- category.string列をcategory.integer列に変更するステップを移行に追加します。
- すべてを元に戻すために必要なダウンステップを移行に追加します。
つまり、これらすべてを移行で実行して元に戻す必要がありますか、それとも元のカテゴリに対応する製品のみを元に戻すことができる、ややばかげた外観の移行を回避するために、可逆性を放棄してデータベースに手動で変更を加える必要がありますか?つまり、移行では、新しく作成されたカテゴリに属する製品を元に戻すことはできません。
ruby-on-rails - Ruby on rails: rake migrate down doesn't seem to be working
I generated a migration that adds a column called encrypted_password to the users table present in my databse. This was generated automatically by rails using the command:
rails generate migration add_password_to_users encrypted_password:string
I'm trying to remove and remake the encrypted_password column in the users_table, so this is what I'm doing:
rake db:migrate:down VERSION=20110712172013
(thats the timestamp of the migration)
rake db:migrate
(Ive also tried rake db:migrate:redo VERSION=20110712172013
)
I get this error: SQLite3::SQLException: duplicate column name: encrypted_password: ALTER TABLE "users" ADD "encrypted_password" varchar(255)
So for some reason, the down migration isn't really removing the column. Anyone have an idea why?
ruby-on-rails - Railsの移行:unsigned int(10)を使用した主キーID
Railsの移行を通じて、テーブルで主キーIDを以下のように定義したい
id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT
私はmysqldbを使用しています。