2012-10-19 4 views
0

나의 사용자 마이그레이션은 다음과 같이하는 데 사용 내 기존 테이블을 삭제하지 : 드롭레이크 DB :

class CreateUsers < ActiveRecord::Migration 
    def change 
    create_table :users do |t| 
     t.string :username 
     etc 

그렇다면 왜 내가 이것을 참조하십시오

class CreateUsers < ActiveRecord::Migration 
    def change 
    create_table :users do |t| 
     t.string :login 
     etc 

는 이제 다음과 같습니다

?

rake db:drop 
rake db:create 
rake db:migrate 
rails console 
> User.new 
+----+-------+------------------+---------------+-------------------+------------+------------+ 
| id | login | crypted_password | password_salt | persistence_token | created_at | updated_at | 
+----+-------+------------------+---------------+-------------------+------------+------------+ 
| |  |     |    |     |   |   | 
+----+-------+------------------+---------------+-------------------+------------+------------+ 
1 row in set 

저는 PostgreSQL을 사용하고 있습니다.

+0

기존 마이그레이션을 변경 했습니까 아니면 새 마이그레이션을 추가 했습니까? –

+0

기존 파일을 변경했습니다. –

+0

당신은 마이그레이션 파일 이름에서 숫자가 변경되도록하고 다시로드하도록했습니다. 레일즈는 마이 그 레이션의 내용을 캐싱 했어야합니다. 감사. –

답변

0

사용자 마이그레이션의 파일 이름을 증가 시키면 문제가 해결됩니다. 레일즈가 파일 이름을 변경하지 않고 내용을 변경하려고 시도했을 때 Rails가 마이그레이션 내용을 캐싱했다고 가정합니다.

관련 문제