タグ付けされた質問 「rails-migrations」


7
Rails 4に参照列の移行を追加する
ユーザーは多くのアップロードを持っています。をuploads参照するテーブルに列を追加したいuser。移行はどのように見えるべきですか? これが私が持っているものです。(1):user_id, :intと(2)のどちらを使用するかわかりません:user, :references。(2)が機能するかどうかさえわかりません。これを「レール」の方法で実行しようとしています。 class AddUserToUploads < ActiveRecord::Migration def change add_column :uploads, :user_id, :integer end end Rails 3以外の関連する質問。Rails3の移行:参照列を追加しますか?

4
Railsの移行:列のデフォルト設定を元に戻す
次の例のように、列のデフォルト設定をセットアップするマイグレーションがRailsにあるという問題があります。 def self.up add_column :column_name, :bought_at, :datetime, :default => Time.now end 後のマイグレーションでそのデフォルト設定をドロップしたい場合、railsマイグレーションを使用してどうすればよいですか? 私の現在の回避策は、次のように、rails移行でカスタムSQLコマンドを実行することです。 def self.up execute 'alter table column_name alter bought_at drop default' end しかし、私はこのアプローチが好きではありません。これは、基になるデータベースがこのコマンドを解釈する方法に依存しているためです。データベースが変更された場合、このクエリはおそらく機能しなくなり、移行は中断されます。では、レールの列のデフォルト設定の取り消しを表現する方法はありますか?

5
Railsにテーブルが存在するかどうかを確認する
テーブルが存在しないと機能しないRakeタスクがあります。私はWebサイトで20人以上のエンジニアと作業しているので、それぞれのテーブルにデータを取り込むレーキタスクを実行する前に、テーブルを移行したことを確認します。 ARには次のような方法がありTable.existsますか?テーブルが正常に移行されたことをどのように確認できますか?



6
「参照」移行での列名の指定
migration別のテーブルを参照してRailsで作成したい。通常、私は次のようなことをします: add_column :post, :user, :references これにより、テーブルに名前が付けられた列が作成さuser_idれpostsます。しかし、ではなく、のuser_idようなものが欲しい場合はどうなりauthor_idますか?どうやってやるの?

1
レールのt.belongs_toとt.referencesの違いは何ですか?
違いは何であるt.referencesとはt.belongs_to?なぜこれら2つの異なる単語があるのですか?彼らは同じことをしているように思えますか?いくつかのGoogle検索を試しましたが、説明は見つかりませんでした。 class CreateFoos < ActiveRecord::Migration def change create_table :foos do |t| t.references :bar t.belongs_to :baz # The two above seems to give similar results t.belongs_to :fooable, :polymorphic => true # I have not tried polymorphic with t.references t.timestamps end end end

4
参照をポリモーフィックにするマイグレーションを生成する方法
Productsテーブルがあり、列を追加したい: t.references :imageable, :polymorphic => true 私はこれを行うためにこのための移行を生成しようとしていました: $ rails generate migration AddImageableToProducts imageable:references:polymorphic しかし、私は明らかにそれを間違っています。誰かが何か提案をすることはできますか?ありがとう マイグレーションの生成後に手動で挿入しようとすると、次のようになりました。 class AddImageableToProducts < ActiveRecord::Migration def self.up add_column :products, :imageable, :references, :polymorphic => true end def self.down remove_column :products, :imageable end end そしてそれはまだ機能していません

9
失敗したRails移行のロールバック
失敗したレールの移行をどのようにロールバックしますか?rake db:rollback失敗した移行は元に戻されると思いますが、いいえ、前の移行(失敗した移行から1を引いたもの)をロールバックします。そしてrake db:migrate:down VERSION=myfailedmigration、どちらも機能しません。私はこれに数回遭遇しました、そしてそれは非常にイライラします。問題を再現するために私が行った簡単なテストは次のとおりです。 class SimpleTest < ActiveRecord::Migration def self.up add_column :assets, :test, :integer # the following syntax error will cause the migration to fail add_column :asset, :test2, :integer end def self.down remove_column :assets, :test remove_column :assets, :test2 end end 結果: == SimpleTest:移行============================================= ======== --add_column(:assets、:test、:integer) -> 0.0932s --add_column(:asset、:error) レーキが中止されました! エラーが発生し、それ以降の移行はすべてキャンセルされました。 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.