43
A
回答
58
這將允許您無需重新加載整個Rails環境遷移:
ActiveRecord::Migrator.migrate "db/migrate"
和回滾:
# 3 is the number of migration to rollback, optional, defaults to 1
ActiveRecord::Migrator.rollback "db/migrate", 3
1
0
我在運行遷移的.irbrc文件中創建了一個方法,然後重新加載控制檯:
def migrate
if defined? Rails::Console # turn off info logging for Rails 3
old_log_level = ActiveRecord::Base.logger.try(:sev_threshold)
ActiveRecord::Base.logger.sev_threshold = Logger::WARN
end
reload! && migations_ran = true if ActiveRecord::Migrator.migrate(Rails.root.join("db/migrate")).any?
ActiveRecord::Base.logger.sev_threshold = old_log_level if defined? old_log_level
migations_ran ||= nil # useful exit status
end
看到這裏的整個文件:https://gist.github.com/imme5150/6548368
55
在控制檯:
ActiveRecord::Migration.remove_column :table_name, :column_name
10
,我覺得更整潔,只是運行從控制檯部分轉移命令的另一種方法是這樣的:
ActiveRecord::Schema.define do
create_table :foo do |t|
t.string :bar
t.timestamps
end
end
這樣做的好處是塊內的內容與只是複製和粘貼隨機內容兼容從一個真實的遷移文件/ schema.rb
。
相關問題
- 1. 無法運行兩種遷移一個控制檯命令
- 2. 運行遷移,而是通過控制檯其作品
- 3. rails運行特定遷移
- 4. 從控制檯運行java
- 5. 從控制檯運行gimp
- 6. 運行從SBT控制檯
- 7. 從控制檯運行xunit
- 8. 從包管理器控制檯運行EF遷移出現錯誤
- 9. 從控制器的Symfony3控制檯運行控制檯命令
- 10. Rails DB遷移錯誤,Rails重新運行以前的遷移?
- 11. 在生產中運行Rails控制檯
- 12. 導軌遷移腳本VS控制檯
- 13. laravel 5.1控制檯遷移命令
- 14. 控制檯學說:遷移:與
- 15. 在Ruby on Rails中通過控制檯訪問遷移
- 16. 從Rails控制檯執行ruby腳本
- 17. 如何在不遷移的情況下從Rails控制檯重命名列?
- 18. rails部署使用root遷移運行
- 19. 配置和運行Ruby-On-Rails遷移
- 20. 無法在rails上運行db遷移
- 21. 無法運行db:在Rails中遷移
- 22. 如何從Rails控制檯運行Controller Action,但設置request.shot?
- 23. 如何從rails控制檯運行初始化程序?
- 24. 從Sublime Text運行R控制檯2
- 25. Java JDBC |無法從控制檯運行
- 26. OSX,從控制檯運行instruments.app,如何?
- 27. Phantom.js不能從OSX控制檯運行
- 28. 從控制檯運行symfony動作
- 29. NoClassDefFoundError的運行Java從控制檯
- 30. 從控制檯sotres cookies運行腳本
需要注意的是,如果你使用Mongoid,這是相同的:'Mongoid :: Migrator.migrate「DB /遷移」' –
這是完美添加到您的test_helper.rb中的Rails應用 –
收到的錯誤,bash下的ActiveRecord :: Migrator.migrate:command not found ...使用Rails 2.3.18,ruby 1.9.3p551,現在在rails控制檯內執行命令後執行。 –