のすべてのコンテンツを削除します。列の名前が変更され、それらの列のデータがそこにあります。しかし、私はrake db:drop、create、migrateを実行すると列の名前が変更され、それらの列のデータはなくなります...(マイグレーションファイルの1つがデータベースを満たし、名前が変更される前に)RENAME_COLUMNこんにちは、私はレールの移行の問題を持っている列
ここで問題は何ですか?
別の質問:以前の移行ファイルを変更するのは良い考えではありませんが、rake db:drop db:createとdb:migrateを実行すると問題ありませんか?
私の移行ファイルの順序は以下の通りです:
add_devise_to_users - >列を追加し、テーブル全体に
class AddColumnsToDefaultUser < ActiveRecord::Migration
def change
add_column :users, :name, :string
add_column :users, :dob, :date
add_column :users, :address, :string
add_column :users, :hotel_stars, :integer
add_column :users, :restaurant_stars, :integer
add_column :users, :profile_picture_url, :string
add_column :users, :selected_car, :integer
User.reset_column_information
User.find(1).update_attributes!(:name => 'Alexander MacDonald', :dob => '1984-08-20', :address => '900 Highschool Way, Mountain View, CA 94041', :hotel_stars => '3', :restaurant_stars => '2', :profile_picture_url => 'user1.png', :selected_car => 1)
end
end
を更新し、
をRENAME_COLUMN - >は、テーブルのユーザーadd_columns_to_default_userを作成します
class RenameColumn < ActiveRecord::Migration
def change
rename_column :users, :hotel_stars, :rating_stars
rename_column :users, :restaurant_stars, :price_stars
end
end
データベースを削除すると、もちろんデータはなくなります。 –
私のマイグレーションファイルの1つがデータベースを満たし、これらの2つの列をも満たします。しかし、名前を変更した後、それらの2つの列のデータがなくなった –
私はデータベースを埋めるためにseed.rbを使用し、rake db:setupを使ってそれを作成してフィードするべきだと思います。それはあなたのやり方では問題ではありませんが、もっと正しいと思います。 –