development

레일에서 스캐 폴딩 실행 취소

big-blog 2020. 2. 13. 00:47
반응형

레일에서 스캐 폴딩 실행 취소


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. 다음과 같이 명령을 실행합니다.

  1. rails d scaffold FooBar
  2. rake db:rollbackrake 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



반응형