क्या रेल में पाड़ कमांड के प्रभाव को 'पूर्ववत' करने का कोई तरीका है?
क्या रेल में पाड़ कमांड के प्रभाव को 'पूर्ववत' करने का कोई तरीका है?
जवाबों:
सबसे पहले , यदि आप पहले से ही scaffold
कमांड द्वारा उत्पन्न माइग्रेशन चलाते हैं, तो आपको पहले एक रोलबैक करना होगा।
rake db:rollback
आप उपयोग करके मचान बना सकते हैं:
rails generate scaffold MyFoo
(या समान), और आप इसे उपयोग करके नष्ट / पूर्ववत कर सकते हैं
rails destroy scaffold MyFoo
इसके द्वारा बनाई गई सभी फ़ाइलों को हटा दिया जाएगा generate
, लेकिन आपके द्वारा किए गए किसी भी अतिरिक्त परिवर्तन को नहीं।
rake db:rollback
इससे पहले कि आप अपने पाड़ को नष्ट करने के लिए मत भूलना । इससे पहले कि मचान के प्रवास के अलावा कोई अन्य प्रवासन न हो तो यह तालिका को नष्ट / गिरा देगा।
git status
और / या git diff
, यह देखने के लिए जांचें कि क्या नष्ट कमांड कुछ भी याद नहीं है।
रिशव रस्तोगी सही है, और रेल के साथ 3.0 या उससे अधिक है:
रेल पाड़ पैदा करते हैं ...
रेल पाड़ को नष्ट ...
rake db:rollback
पहले चल रहा है rails destroy scaffold
या अगर यह आखिरी नहीं है तो आपने इसे रेक किया था, db:migrate:down VERSION=20080906120000
आप इसके नाम से पहले संख्या को db / माइग्रेट में पा सकते हैं
आपने जो कुछ भी किया, उसे पूर्ववत कर सकते हैं
rails generate xxx
द्वारा
rails destroy xxx
उदाहरण के लिए यह जनरेटर को माइग्रेशन, मचान, मॉडल ... आदि पर लागू होता है
यदि आप केवल फाइलें देखना चाहते हैं तो एक जेनरेटर बनाएगा जिससे आप जेनरेटर - व्याख्या या पी विकल्प पास कर सकते हैं।
सबसे अच्छा तरीका है:
destroy rake db: rake db:rollback
पाड़ के लिए:
rails destroy scaffold Name_of_script
यदि आप पाड़ उत्पन्न करते हैं तो पहली बार, आप डेटाबेस प्रवासन की जांच कर सकते हैं। अपने डेटाबेस को साफ करने के लिए आपको उन्हें नष्ट करना होगा
rake db:rollback
फिर
rails d scaffold
रेल में पाड़ पैदा करने के लिए -
rails generate scaffold MODEL_GOES_HERE
पटरियों में पूर्ववत पाड़ के लिए -
rails destroy scaffold MODEL_GOES_HERE
rails g
और rails d
।
आपको मचान को नष्ट करने के बाद भी माइग्रेशन रोल करने की आवश्यकता है
rails destroy scaffold 'scaffoldname'
rake db:rollback
तो, प्रक्रिया आप रेल में मचान में पूर्ववत करने के लिए पालन करना चाहिए। नीचे के रूप में कमांड चलाएँ:
rails d scaffold FooBar
rake db:rollback
यदि आप rake db:migrate
पाड़ से ऊपर बनाने के बाद _____बस!
चीयर्स!
रोलबैक की सिफारिश करें सबसे पहले, अपने टर्मिनल में टाइप करें।
rake db:rollback
नष्ट पाड़ जोड़ें ('डी' 'नष्ट' के लिए खड़ा है)
rails d scaffold name_of_scaffold
अपने कोड का आनंद लें।
हां, 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 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
यह कमांड आपके प्रोजेक्ट में मचान द्वारा बनाई गई सभी फाइलों को हटा देगा।
केस 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
तो इस तरीके से, हम मचान को पूर्ववत कर सकते हैं। इसके अलावा हम उपयोग कर सकते हैं घ के लिए नष्ट कर और जी के लिए उत्पन्न एक शॉर्टकट के रूप।
rails g scaffold MyFoo
उत्पन्न करने के लिए और
rails d scaffold MyFoo
हटाने के लिए