問題タブ [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 - 対応するロールバックは何ですか?
私は次のActiveRecord移行を持っています:
私は実際にそのreferences
スタイルが好きです。残念ながらreferences
、self.down
セクションで同等のロールバックを見つけることができませんでした。私が書くなら、私も書くremove_column :projects, :subjects_id
ことができますt.integer :subjects_id
、それはそれをより安全にするでしょう。
ruby-on-rails-3 - 既定のデータと組み合わせて移行中にエラーが発生するのはなぜですか?
次に、移行に次のコードを追加します。
===========================
============================
エラーが発生します:
** db:migrate の呼び出し (first_time)
** 環境の呼び出し (first_time)
** 環境の実行
** db:migrateの実行
== CreateStates: migrating ================== ===============================
-- create_table(:states)
-> 0.0010s
レーキが中止されました!
エラーが発生しました。これ以降の移行はすべてキャンセルされました:
初期化されていない定数 CreateStates::State
/Users/jondoe/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/backward_compatibility. rb:20:in `const_missing'
========
これができるはずです:
http://api.rubyonrails.org/classes/ActiveRecord/Migration.html
また、単なる移行ファイルではなく、モデルを作成しようとしました。それでも同じエラー。また、2 つの移行 (1 つはテーブルを作成し、もう 1 つはデータを追加する) を作成しようとしましたが、どちらも機能しませんでした。何か案は?
ruby-on-rails - Rails 移行エラー
これはかなり簡単に思えますが、何が間違っているのかわかりません。
Railsの移行で次のことをしようとしています:
次のエラーが表示されます
私が把握できる唯一の問題は、列を foo に追加した直後にこの change_column が発生し、最初にタイプ :string からタイプ :text に変更しなければならなかったことです。これらはそれぞれ独自の移行スクリプトに由来し、次のようになります。
と
実験として、最初の change_column (change_column :foo, :bar, :text) を変更してみましたが、これによりテーブルが正常に変更されることがわかりました。残念ながら、以前の移行を変更することはできず、現在の実装では新しい移行しか追加できないため、本番環境では機能しません。問題は、列を 1 回変更できるのに 2 回変更できないのはなぜですか?
更新最初の提案を試しましたが、次の結果が得られました。
ruby-on-rails-3 - Rails3 デバイス認証の移行
私は、新しいアプリケーションがデータベース内のユーザー テーブルをどのように表現するのが最善かをいじっています。
次のような名前の移行に気付きました。
それはデバイスがインストール時に作成するものですか? または、手動で作成するより単純な users テーブルの移行を使用できますか?
通常、人々はどのように Devise を設定し、特定のアプリケーションが必要とするかもしれないユーザーテーブルに余分な列を追加することができますか?
ありがとう、アレックス
mysql - ユーザー移行の実行中のエラー
Devise認証ライブラリを実装し、自分のアプリケーションに固有の使用する必要のある列を追加しようとしています。
rake Migrationコマンドを実行すると、奇妙なエラーが発生します。これが私のdevise_create_usersファイルです:
そして最小限のcreate_usersファイル
しかし、奇妙なことに、移行を実行すると、次のエラーが発生します。
上記のファイルでこれらの列のいずれにも言及していないため、これは非常に奇妙です。余分な列はどこから来ていますか?そして、2番目のcreate_usersファイルはcreateではなくupdateにする必要がありますか?
ありがとう!
mysql - rails3の移行を更新しましたが、rake:dbの移行後に結果が表示されません
Devise移行ファイルを使用しています。もともとはこんな感じでした:
このように3つの列を追加したかった:
t.first_name t.last_name t.organization_name
したがって、変更を加えると、移行ファイルは次のようになります。
次に、コマンドラインから次のコマンドを実行しました。
そして、結果のdbテーブルは、私が追加しようとした列を反映していませんでした。外観は次のとおりです。
試みた変更が表示されない理由はありますか?変更を強制的に実行するにはどうすればよいですか?
ありがとう!!
ruby-on-rails - Rails 3の移行:ブール値(mysqlとpostgreSQL)
フォーラムのトピックに「スティッキー」オプションを追加しようとしています。これは私の移行がどのように見えるかです
これはmysqlでローカルに完全に機能しますが、変更をheroku(PostgreSQLを使用)にプッシュすると、コンソールを使用したときにこれが得られます。
このプロパティのデフォルト値が文字列であるのはなぜですか?
編集:オブジェクトを保存しても、スティッキープロパティは変更されません。つまり、「f」のままです。
ruby-on-rails - Rails で utf-8 および InnoDB 命令を追加する際の移行構文エラー
このレール移行を作成しようとしています
そして、実行中に次のようなエラーが発生します。
構文エラー、予期しない ','、予期しない ')' create_table (:formats , :options => 'ENGINE=InnoDB D... ^ 構文エラー、予期しない ')'、予期する keyword_end ...=InnoDB DEFAULT CHARSET=utf8' ) する |t| ... ^
構文エラー、予期しない keyword_end、$end が必要です
なぜこれが起こったのですか?私は自分の構文に問題を見つけることができません..ほとんどの場合、私はRailsを初めて使用するためです:)
ruby-on-rails - Rails 移行で列 (コンテンツを含む) を別のテーブルに移動するにはどうすればよいですか?
既存のテーブルから別のテーブルにいくつかの列を移動する必要があります。rails migration を使用してどうすればいいですか?
上記は新しい列を作成するだけですが、値は空のままです...
テーブルを手動で更新するためにデータベースにログインすることを避けたいです。
列の値をプログラムで移動する方法がある場合、パフォーマンスの特徴は何ですか? 行ごとに実行しますか、それとも一括更新する方法はありますか?
mysql - データベース固有の移行コード
複数のデータベースで実行する必要のあるアプリケーションを作成しています。現在、特定のデータベース(postgresqlおよびmysql)でのみ実行したいコードが移行に含まれています。これを設定する方法はありますか?ありがとう。