레일에서 비계 실행 취소
레일즈에서 비계 명령의 효과를 '해제'할 수 있는 방법이 있습니까?
첫째, 에서 생성된 마이그레이션을 이미 실행한 경우scaffold
먼저 롤백을 수행해야 합니다.
rake db:rollback
다음을 사용하여 비계를 작성할 수 있습니다.
rails generate scaffold MyFoo
(또는 유사)를 사용하여 파괴/제거할 수 있습니다.
rails destroy scaffold MyFoo
그러면 생성된 모든 파일이 삭제됩니다.generate
그러나 수동으로 변경한 추가 사항은 없습니다.
Rishav Rastogi의 말이 맞습니다. 레일 3.0 이상에서는 다음과 같습니다.
레일이 비계를 생성합니다...
레일이 비계를 파괴합니다...
당신은 당신이 했던 것을 되돌릴 수 있습니다.
rails generate xxx
타고
rails destroy xxx
예를 들어, 마이그레이션, 골격, 모델 등에 제너레이터를 적용합니다.
생성자가 생성할 파일만 보려면 생성자 --pretend 또는 -p 옵션을 전달할 수 있습니다.
가장 좋은 방법은:
destroy rake db: rake db:rollback
비계의 경우
rails destroy scaffold Name_of_script
스템플릿을 생성한 경우 처음으로 데이터베이스 마이그레이션을 확인할 수 있습니다.당신은 당신의 데이터베이스를 정리하기 위해 그것들을 파괴해야 합니다.
rake db:rollback
그리고나서
rails d scaffold
rails d scaffold <scaffoldname>
또한 롤백하거나 특정 버전으로 마이그레이션을 실행 취소해야 합니다.
비계를 생성하는 방법
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
위에 비계를 만든 후에?
바로 그거야!
건배!
이것을 사용합니다.
rails d scaffold MODEL_NAME
rake db:rollback
롤백 우선을 권장합니다. 터미널을 입력합니다.
rake db:rollback
파괴 비계를 추가합니다('d'는 '파괴'를 의미)
rails d scaffold name_of_scaffold
코드를 즐겨보세요.
먼저 테이블을 파괴하기 위해 rake db:rollback을 해야 합니다.
이미 rake db:db를 실행한 경우 실행할 수 있습니다.
난간 비계 모형
먼저 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
Git 기반의 다른 솔루션 제공
새 프로젝트를 시작합니다.
rails new project_name
cd project_name
git 초기화
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 g scaffold post
rake db:migrate
삭제하는 방법:
rake db:rollback
rails d scaffold post
Scape를 생성하면 다음 파일이 생성됩니다.
명령: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: 아래와 같은 명령으로 이미 (스케폴드 및 마이그레이션)을 실행한 경우
rails generate scaffold User name:string address:text
rake db:migrate
그런 다음 먼저 롤백 마이그레이션 명령을 실행한 다음 아래와 같은 발판을 파괴해야 합니다.
rake db:rollback
rails destroy scaffold User name:string address:text
이런 식으로 우리는 비계를 되돌릴 수 있습니다.또한 우리는 destroy에 사용할 수 있고 g는 generate에 바로 가기로 사용할 수 있습니다.
rails g scaffold MyFoo
생성 및
rails d scaffold MyFoo
제거하기 위한
언급URL : https://stackoverflow.com/questions/963420/undo-scaffolding-in-rails
'source' 카테고리의 다른 글
파이어베이스 인증에서 이메일을 변경하는 방법은 무엇입니까? (0) | 2023.06.06 |
---|---|
UIAction 만들기변수 목록이 아닌 배열로 전달하여 '기타 단추'를 시트합니다. (0) | 2023.06.06 |
Rstudio에서 작업 디렉토리를 원본 파일 위치로 설정하기 위한 R 명령 (0) | 2023.06.06 |
오류: Android 응용 프로그램 모듈의 Gradle 구성을 구문 분석할 수 없습니다. (0) | 2023.06.06 |
bto3 S3에 연결할 때 자격 증명을 지정하는 방법은 무엇입니까? (0) | 2023.06.06 |