레일에서 스캐 폴딩 실행 취소
Rails에서 비계 명령의 효과를 '실행 취소'할 수있는 방법이 있습니까?
먼저 , scaffold
명령으로 생성 된 마이그레이션을 이미 실행 한 경우 먼저 롤백을 수행해야합니다.
rake db:rollback
다음을 사용하여 스캐 폴딩을 만들 수 있습니다.
rails generate scaffold MyFoo
(또는 유사한), 당신은 그것을 사용하여 그것을 파괴 / 취소 할 수 있습니다
rails destroy scaffold MyFoo
이 파일은에 의해 생성 된 모든 파일을 삭제 generate
하지만 수동으로 추가 한 변경 사항은 없습니다.
Rishav Rastogi가 옳으며 레일 3.0 이상인 경우 :
레일은 비계를 생성합니다 ...
레일은 비계를 파괴 ...
당신이 한 모든 것을 취소 할 수 있습니다
rails generate xxx
으로
rails destroy xxx
예를 들어 이것은 생성기를 마이그레이션, 발판, 모델 등에 적용합니다.
생성기가 생성 할 파일 만 보려면 generator --pretend 또는 -p 옵션을 전달하면됩니다.
가장 좋은 방법은
destroy rake db: rake db:rollback
비계의 경우 :
rails destroy scaffold Name_of_script
rails d scaffold <scaffoldname>
또한 롤백 또는 특정 버전으로 마이그레이션을 실행 취소해야합니다.
처음으로 스캐 폴드를 생성 한 경우 데이터베이스 마이그레이션을 확인할 수 있습니다. 당신은 당신의 데이터베이스를 정리하기 위해 그들을 파괴해야
rake db:rollback
그때
rails d scaffold
스캐 폴딩을 생성하려면
rails generate scaffold xyz
비계를 되돌리려면 :
rails destroy scaffold xyz
레일 이름 파괴
rake db:rollback
레일에서 비계를 생성하는 경우-
rails generate scaffold MODEL_GOES_HERE
레일의 비계를 취소하려면-
rails destroy scaffold MODEL_GOES_HERE
비계를 파괴 한 후에도 마이그레이션을 롤백해야합니다.
rails destroy scaffold 'scaffoldname'
rake db:rollback
따라서 레일에서 스캐 폴딩을 취소하기 위해 따라야하는 프로세스 4. 다음과 같이 명령을 실행합니다.
rails d scaffold FooBar
rake db:rollback
rake db:migrate
비계를 생성 한 후 you_had_run_이라면
그게 다야!
건배!
롤백 권장 먼저 터미널에 입력하십시오.
rake db:rollback
파괴 비계 추가 ( 'd'는 '파괴'를 나타냄)
rails d scaffold name_of_scaffold
코드를 즐기십시오.
이것을 사용하십시오
rails d scaffold MODEL_NAME
rake db:rollback
먼저 rake db : migrate 를 실행 한 다음 실행할 수있는 경우 테이블을 제거하기 위해 rake db : rollback 을 수행해야합니다 .
레일 d 발판 모델
rake db : rollback (있는 경우)을 수행하여 마이그레이션을 먼저 롤백해야합니다.
rails d scaffold foo
그렇습니다. 그 scaffold
자체와 그것을 합병시키는 모든 것.
이 destroy
명령은 정반대이며 generate
실행 취소합니다. 같은 방식으로 이름을 전달하면 generate
프로젝트에서 제거됩니다.
rails generate scaffold posts title:string content:text
rails destroy scaffold posts title:string content:text
스캐 폴드를 생성하려면
rails generate scaffold abc
이 스캐 폴드를 되돌리려면 :
rails destroy scaffold abc
마이그레이션을 실행 한 경우 롤백
rake db:rollback STEP=1
자식을 기반으로 다른 솔루션 제공
새로운 프로젝트를 시작하다
rails new project_name
cd project_name
자식 초기화
git init
git commit -m "initial commit"
발판을 만들다
rails g scaffold MyScaffold
rake db:migrate
비계 롤백
rake db:rollback
git reset --hard
git clean -f -d
레일 [옵션] 발판 발판 _ 이름
선택권
g generate
d destroy
당신이 할 경우
rails g scaffold myFoo
그런 다음 사용하여 다시 되돌립니다
rails d scaffold MyFoo
스캐 폴드를 생성하면 다음과 같은 파일이 생성됩니다.
명령: rails generate scaffold Game
생성 된 파일 :
> invoke active_record
> create db/migrate/20160905064128_create_games.rb
> create app/models/game.rb
> invoke test_unit
> create test/models/game_test.rb
> create test/fixtures/games.yml
> invoke resource_route
> route resources :games
> invoke inherited_resources_controller
> create app/controllers/games_controller.rb
> invoke erb
> create app/views/games
> create app/views/games/index.html.erb
> create app/views/games/edit.html.erb
> create app/views/games/show.html.erb
> create app/views/games/new.html.erb
> create app/views/games/_form.html.erb
> invoke test_unit
> create test/controllers/games_controller_test.rb
> invoke helper
> create app/helpers/games_helper.rb
> invoke test_unit
> create test/helpers/games_helper_test.rb
> invoke jbuilder
> create app/views/games/index.json.jbuilder
> create app/views/games/show.json.jbuilder
> invoke assets
> invoke coffee
> create app/assets/javascripts/games.js.coffee
> invoke scss
> create app/assets/stylesheets/games.css.scss
> invoke scss
> create app/assets/stylesheets/scaffolds.css.scss
이 후에 마이그레이션을 실행 한 경우 스캐 폴드를 삭제하면 마이그레이션 파일도 제거되고 해당 마이그레이션을 되돌릴 수 없으므로 마이그레이션을 먼저 롤백해야합니다.
마이그레이션을 실행 한 경우 :
rake db:rollback
이 후 우리는이 쉼표로 비계를 안전하게 제거 할 수 있습니다.
rails d scaffold Game
이 명령은 프로젝트에서 스캐 폴드로 작성된 모든 파일을 제거합니다.
를 실행할 때마다 (파기)를 rails g
실행 rails d
하여 생성 한 것을 제거 하여 역순으로 바꿀 수 있습니다 . 이미 실행 한 경우 다음을 제거 하기 전에 rake db:migrate
실행해야합니다. rake db:rollback
:)
사례 1 : 이 명령 만 실행하여 스캐 폴드를 생성하는 경우-
rails generate scaffold MODEL_NAME FIELD_NAME:DATATYPE
Ex - rails generate scaffold User name:string address:text
하지만 지금까지는 마이그레이션과 같은 명령을 실행하지 않았습니다.
rake db:migrate
그런 다음이 명령 만 실행하면됩니다-
rails destroy scaffold User name:string address:text
사례 2 : 이미 다음과 같은 명령으로 (Scaffold and Migration)을 실행 한 경우-
rails generate scaffold User name:string address:text
rake db:migrate
그런 다음 첫 번째 롤백 마이그레이션 명령을 실행 한 다음 아래처럼 스캐 폴드를 제거해야합니다.
rake db:rollback
rails destroy scaffold User name:string address:text
이런 식으로 스캐 폴딩을 취소 할 수 있습니다. 또한 우리가 사용할 수있는 D를 위한 파괴 와 g 에 대한 생성 바로 가기로.
rails g scaffold MyFoo
생성 및
rails d scaffold MyFoo
제거
참고 URL : https://stackoverflow.com/questions/963420/undo-scaffolding-in-rails
'development' 카테고리의 다른 글
배열의 길이를 어떻게 찾습니까? (0) | 2020.02.13 |
---|---|
T-SQL : 조인을 통해 삭제할 행 선택 (0) | 2020.02.13 |
Bash에서 첫 번째 X 줄을 건너 뛰는 파일 인쇄 (0) | 2020.02.13 |
원격 저장소는 이미 새로운 저장소에 대한 'git push'에 존재합니다. (0) | 2020.02.13 |
최대 업로드 파일 크기 변경 (0) | 2020.02.13 |