คำถามติดแท็ก rake

โปรแกรมอรรถประโยชน์การสร้าง Ruby คล้ายกับคำสั่ง build ที่กำหนดไว้ใน Pure Ruby

18
วิธีการส่งผ่านอาร์กิวเมนต์บรรทัดคำสั่งไปยังงาน rake
ฉันมีงานเรคที่ต้องใส่ค่าลงในหลายฐานข้อมูล ฉันต้องการส่งค่านี้ไปยังภารกิจเรคจากบรรทัดคำสั่งหรือจากงานเรคอื่น ฉันจะทำสิ่งนี้ได้อย่างไร

5
ความแตกต่างระหว่าง rake db: migrate db: reset และ db: schema: load
ความแตกต่างระหว่างrake db:migrateและrake db:resetชัดเจนในหัวของฉัน สิ่งที่ฉันไม่เข้าใจก็คือrake db:schema:loadความแตกต่างจากสองสิ่งนี้ เพียงเพื่อให้แน่ใจว่าฉันอยู่ในหน้าเดียวกัน: rake db:migrate - เรียกใช้การย้ายข้อมูลที่ยังไม่ได้เรียกใช้ rake db:reset- ล้างฐานข้อมูล (สมมุติrake db:drop+ rake db:create+ rake db:migrate) และเรียกใช้การย้ายข้อมูลบนฐานข้อมูลใหม่ กรุณาช่วยอธิบายหากความเข้าใจของฉันผิดไป

19
ล้างหรือสร้างฐานข้อมูล Ruby on Rails ใหม่
ฉันมีฐานข้อมูล dev Ruby on Rails เต็มไปด้วยข้อมูล ฉันต้องการลบทุกอย่างและสร้างฐานข้อมูลอีกครั้ง ฉันกำลังคิดที่จะใช้สิ่งที่ชอบ: rake db:recreate เป็นไปได้ไหม

22
Rails DB Migration - วิธีวางโต๊ะ?
ฉันเพิ่มตารางที่ฉันคิดว่าฉันต้องการ แต่ตอนนี้ไม่มีแผนจะใช้อีกต่อไป ฉันจะลบตารางนั้นได้อย่างไร ฉันได้ทำการย้ายข้อมูลแล้วดังนั้นตารางอยู่ในฐานข้อมูลของฉัน ฉันคิดว่าrails generate migrationน่าจะสามารถรับมือกับสิ่งนี้ได้ แต่ฉันยังไม่เข้าใจวิธีการ ฉันได้พยายาม: rails generate migration drop_tablename แต่นั่นเพิ่งสร้างการโยกย้ายที่ว่างเปล่า วิธี "เป็นทางการ" ในการวางโต๊ะใน Rails คืออะไร?

7
วิธีการรันภารกิจเรคจากภายในงานเรค?
ฉันมี Rakefile ที่รวบรวมโครงการในสองวิธีตามตัวแปรทั่วโลก$build_typeซึ่งอาจเป็น:debugหรือ:release(ผลลัพธ์ไปในไดเรกทอรีที่แยกต่างหาก): task :build => [:some_other_tasks] do end ฉันต้องการสร้างงานที่รวบรวมโครงการด้วยการกำหนดค่าทั้งสองแบบดังนี้: task :build_all do [ :debug, :release ].each do |t| $build_type = t # call task :build with all the tasks it depends on (?) end end มีวิธีเรียกงานราวกับว่ามันเป็นวิธีการหรือไม่? หรือฉันจะบรรลุสิ่งที่คล้ายกันได้อย่างไร
411 ruby  rake 

7
กำ rake exec หมายถึงอะไร?
อะไรbundle exec rake db:migrateหมายถึง? หรือbundle exec rake <command>โดยทั่วไป? ฉันเข้าใจว่าbundleจะดูแลสิ่งต่าง ๆ ใน Gemfile ฉันรู้ว่าคำว่า "exec" หมายถึงอะไร ฉันเข้าใจว่าrakeรักษาสิ่งต่าง ๆ ไว้ในสคริปต์ที่คุณสามารถทำได้และฉันรู้ว่านั่นdb:migrateเป็นหนึ่งในนั้น ฉันแค่ไม่รู้ว่าคำเหล่านี้ทำอะไรกัน เหตุใดจึงควรbundleใช้เพื่อดำเนินการrakeเพื่อโยกย้ายฐานข้อมูล


6
งานเรคของ Rails ให้การเข้าถึงกับรุ่น ActiveRecord หรือไม่?
ฉันพยายามสร้างงานเรคที่กำหนดเอง แต่ดูเหมือนว่าฉันไม่สามารถเข้าถึงโมเดลของฉันได้ ฉันคิดว่านี่เป็นสิ่งที่รวมอยู่ในงานทางรถไฟโดยปริยาย ฉันมีรหัสต่อไปนี้ใน lib / task / test.rake: namespace :test do task :new_task do puts Parent.all.inspect end end และนี่คือรูปแบบผู้ปกครองของฉันที่มีลักษณะ: class Parent < ActiveRecord::Base has_many :children end มันเป็นตัวอย่างง่ายๆ แต่ฉันได้รับข้อผิดพลาดดังต่อไปนี้: /> rake test:new_task (in /Users/arash/Documents/dev/soft_deletes) rake aborted! uninitialized constant Parent (See full trace by running task with --trace) ความคิดใด ๆ ขอบคุณ

7
ฉันจะกลับก่อนได้อย่างไรจากภารกิจคราด?
ฉันมีงานเรคที่ฉันทำการตรวจสอบบางอย่างเมื่อเริ่มต้นหากการตรวจสอบอย่างใดอย่างหนึ่งล้มเหลวฉันต้องการกลับก่อนจากงานเรคฉันไม่ต้องการรันโค้ดใด ๆ ที่เหลืออยู่ ฉันคิดว่าวิธีแก้ปัญหาคือการวางคืนที่ฉันต้องการกลับจากรหัส แต่ฉันได้รับข้อผิดพลาดต่อไปนี้ unexpected return
226 ruby  rake 

5
วิธีย้อนกลับเพียงขั้นตอนเดียวโดยใช้ rake db: migrate
หลังจากเพิ่มไฟล์การย้ายข้อมูลในdb/migrateโฟลเดอร์และการทำงานrake db:migrateฉันต้องการกลับไปที่ขั้นตอนก่อนหน้าฉันคิดว่าการใช้VERSION=nเป็นวิธีที่ถูกต้อง แต่ฉันไม่รู้ค่าที่ถูกต้องของการใช้ มีคำสั่งให้ตรวจสอบค่า n ปัจจุบันหรือไม่? rake db:migrateมันจะดีถ้าใครสามารถให้คำแนะนำแบบเต็มเกี่ยวกับวิธีการใช้

19
ปัญหา Ruby on Rails และ Rake: Rake :: DSL ที่ไม่มีการกำหนดค่าเริ่มต้น
ฉันมีปัญหาที่น่าหงุดหงิดจริงๆ: Rakeกำลังโง่ นี่คือปัญหาที่เกิดขึ้น: $ rails new test_app $ rails generate scaffold new_scaffold field1:string field2:text ทั้งสองทำงานได้ดี แต่เมื่อฉันทำสิ่งนี้ $ rake db:migrate ฉันได้รับข้อผิดพลาดดังต่อไปนี้ (in /home/mikhail/test_app) rake aborted! uninitialized constant Rake::DSL /usr/lib/ruby/1.9.1/rake.rb:2482:in `const_missing' /usr/lib/ruby/gems/1.9.1/gems/rake-0.9.0/lib/rake/tasklib.rb:8:in `<class:TaskLib>' /usr/lib/ruby/gems/1.9.1/gems/rake-0.9.0/lib/rake/tasklib.rb:6:in `<module:Rake>' /usr/lib/ruby/gems/1.9.1/gems/rake-0.9.0/lib/rake/tasklib.rb:3:in `<top (required)>' /usr/lib/ruby/gems/1.9.1/gems/rake-0.9.0/lib/rake/rdoctask.rb:20:in `require' /usr/lib/ruby/gems/1.9.1/gems/rake-0.9.0/lib/rake/rdoctask.rb:20:in `<top (required)>' /usr/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/tasks/documentation.rake:1:in `require' /usr/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/tasks/documentation.rake:1:in `<top (required)>' /usr/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/tasks.rb:15:in `load' /usr/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/tasks.rb:15:in `block …

7
ทำไม Ruby 1.9.2 จึงลบ“.” จาก LOAD_PATH และทางเลือกอื่นคืออะไร
เซ็ตการแก้ไขล่าสุดสำหรับ Ruby 1.9.2 จะไม่ทำให้ไดเรกทอรีปัจจุบัน.เป็นส่วนหนึ่งของคุณLOAD_PATHอีกต่อไป ฉันมีจำนวนของ Rakefiles ที่ไม่สำคัญซึ่งถือว่า.เป็นส่วนหนึ่งของLOAD_PATHสิ่งนี้ดังนั้นจึงทำให้พวกเขายากจน (พวกเขารายงานว่า "ไม่มีไฟล์ดังกล่าวที่จะโหลด" สำหรับทุกคำสั่งที่ต้องใช้ตามเส้นทางโครงการ) มีเหตุผลพิเศษสำหรับการทำเช่นนี้หรือไม่? สำหรับการแก้ไขการเพิ่ม$: << "."ทุกที่ทำงานได้ แต่ดูเหมือนว่าแฮ็คอย่างเหลือเชื่อและฉันไม่ต้องการทำเช่นนั้น วิธีใดที่จะทำให้ Rakefiles 1.9.2+ ของฉันใช้ร่วมกันได้
154 ruby  rake  require  load-path 

8
วิธีการที่ไม่ได้กำหนด 'งาน' โดยใช้ Rake 0.9.0
ฉันเพิ่งอัปเดตRakeเป็นเวอร์ชันล่าสุด ( 0.9.0.beta.4) และrakeคำสั่งลงเอยด้วยข้อความแสดงข้อผิดพลาดต่อไปนี้: rake aborted! undefined method `task' for #<Anelis::Application:0x9223b6c> นี่คือร่องรอย: undefined method `task' for #<Anelis::Application:0x97ef80c> /usr/local/rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/application.rb:214:in `initialize_tasks' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/application.rb:139:in `load_tasks' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/application.rb:77:in `method_missing' /home/amokrane/Documents/prog/web/learning_rails/anelis/Rakefile:7:in `load_string' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/environment.rb:28:in `eval' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/environment.rb:28:in `load_string' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/environment.rb:16:in `load_rakefile' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:495:in `raw_load_rakefile' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:78:in `block in load_rakefile' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:129:in `standard_exception_handling' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:77:in `load_rakefile' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:61:in `block in run' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:129:in `standard_exception_handling' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:59:in `run' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/bin/rake:31:in …


5
NoMethodError: วิธีการที่ไม่ได้กำหนด `` last_comment 'หลังจากอัปเกรดเป็นคราด 11
เมื่อเรียกใช้rakeงานใด ๆฉันได้รับ: NoMethodError: วิธีการที่ไม่ได้กำหนด last_comment สำหรับ หลังจากนั้นbundle updateก็ดึงคราดเวอร์ชันใหม่11.0.1มาใช้ $ grep rake Gemfile.lock rake rake (>= 0.8.7) rake (11.0.1) rake $ bundle update $ bundle exec rake db:drop # any rake task NoMethodError: วิธีที่ไม่ได้กำหนด last_comment สำหรับ # <Rake :: Application: 0x007ff0cf37be38> รุ่น ราง 3.2.11 คราด 11.0.1

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.