[Ruby on Rails] scaffold 완벽하게 지우기!

JNETiii·2021년 8월 15일
1

Ruby on Rails

목록 보기
1/1

레일즈 프로젝트를 진행하던 도중 scaffold 생성을 잘못해서 다 지우고 처음부터 진행하려고 하는데..!

rails destroy scaffold scaffold명

이 명령어로 scaffold 를 삭제하고 다시 만들어

rake db:migrate

를 하는 순간..!
table already exists.. 이미 테이블이 있다고 나온다..
확실히 지운 줄 알았는데...

그래서 방법을 찾아보았다!

1. scaffold 삭제

먼저, 만들었던 scaffold를 삭제해준다

rails destroy scaffold scaffold명

2. model 삭제

scaffold와 함께 만들어졌던 모델을 삭제해준다

rails destroy model model명(scaffold명)

3. table을 삭제할 migration 생성

table을 삭제하는 명령어를 실행할 migration를 생성해준다

rails g migration migration명

저는 이름을 까먹지 않도록 모델명과 같게 해주었다.

3-1. 코드 작성

migration안에 아래의 코드를 입력해준다

class Users < ActiveRecord::Migration[6.1]
	def up
    	drop_table :users
    end
    
    def down
    	fail ActiveRecord::IrreversibleMigration
    end
end

drop_table 옆에는 삭제하려는 테이블명을 적는다

3-2. 터미널 실행

rake db:migrate

를 실행시켜주면 테이블이 drop되는 걸 볼 수 있다

4. migration 삭제

테이블을 삭제하기 위해 만들었던 migration 파일을 삭제해준다

rails d migration migration명

그러면 완벽하게 초기화 된 것을 볼 수 있다.

profile
도전자 | 개발자

0개의 댓글