[解決済み] Railsマイグレーションで、既存のテーブルにカラムを追加する
2022-02-20 17:59:51
質問
ユーザーモデルで
:email
カラムを追加するのを忘れていました)。
マイグレーションファイルを開いて
t.string :email
を行った。
rake db:migrate
を取得し
NoMethodError
. そして、次の行を追加しました。
add_column :users, :email, :string
また
rake db:migrate
また
NoMethodError
. 私はここでステップを逃しているのでしょうか?
編集:これが移行ファイルです。
class CreateUsers < ActiveRecord::Migration
def self.up
add_column :users, :email, :string
create_table :users do |t|
t.string :username
t.string :email
t.string :crypted_password
t.string :password_salt
t.string :persistence_token
t.timestamps
end
end
def self.down
drop_table :users
end
end
解決方法は?
すでにオリジナルのマイグレーションを実行している場合(編集する前)、新しいマイグレーションを生成する必要があります (
rails generate migration add_email_to_users email:string
を実行します)。
行を含むマイグレーションファイルが作成されます。
add_column :users, email, string
次に
rake db:migrate
で、新しいマイグレーションが実行され、新しいカラムが作成されます。
まだオリジナルのマイグレーションを実行していない場合は、あなたがやろうとしているように、マイグレーションを編集すればよいのです。あなたのマイグレーションコードは
ほとんど
を削除するだけで、完璧です。
add_column
の行を完全に削除します (このコードは、テーブルが作成される前に、テーブルにカラムを追加しようとしているのです。
t.string :email
ということです。)
関連
-
[解決済み】Rails。Ruby on Railsの移行でデータベースカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] PGError: エラー: リレーションのカラムが存在しない
-
[解決済み] モデルで `save` と `save!` はいつ使うのか?
-
[解決済み] Rails 3 - link_to を image_tag + text で表示する。
-
[解決済み] SocketError (getaddrinfo: Name or service not known) - Sunspot/Solr Rails development
-
[解決済み] Rails DBの移行 - テーブルを削除するには?
-
[解決済み] REST JSON APIのサーバーとクライアントを分離?[クローズド]
-
[解決済み】Railsのhas_one/has_manyの:sourceオプションについて理解する。
-
[解決済み] githubからあるgemの特定の「コミット」を取得するには?
-
[解決済み] 既存のRailsカラムのbooleanに:default => trueを追加する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Railsマイグレーションで、既存のテーブルにカラムを追加する
-
[解決済み] Railsのインストール時に「/usr/binディレクトリに書き込み権限がありません」というエラーが発生しますが、どのように修正すればよいですか?
-
[解決済み] SocketError (getaddrinfo: Name or service not known) - Sunspot/Solr Rails development
-
[解決済み] Herokuのデータベースを空にする方法
-
[解決済み] REST JSON APIのサーバーとクライアントを分離?[クローズド]
-
[解決済み】rmagick gem install "Can't find Magick-config"...
-
[解決済み] 新しいRailsアプリを作成するときに、test-unitではなくRSpecを使用するようにRailsに指示するにはどうすればよいですか?
-
[解決済み] githubからあるgemの特定の「コミット」を取得するには?
-
[解決済み] 既存のRailsカラムのbooleanに:default => trueを追加する。
-
[解決済み] サインアップするためのDeviseルートを削除するにはどうすればよいですか?