这实际上是一个shell脚本问题,但与rails有关。
我创建了一个像这样的Rails迁移:
~/dropbox/rails/f6$ rails g migration ModifyWord
然后Rails创建迁移脚本,并在控制台上报告该名称:
~/dropbox/rails/f6$ rails g migration ModifyWord
invoke active_record
create db/migrate/20121231080052_modify_word.rb
然后我使用vi编辑迁移文件,如下所示:
~/dropbox/rails/f6$ vi db/migrate/20121231080052_modify_word.rb
我希望能够将vi filename 作为单个命令执行,可能通过shell脚本将其别名添加到我的.bash_rc中。
也就是说,我会在迁移后运行命令,它会查看报告的文件名。
关于我应该如何处理的任何建议?
的解 的
根据MichaëlWitrant的建议,我已将别名添加到我的bash配置文件中。
vm 到vi上次创建的迁移文件
alias cm ='cat ls db/migrate/*.rb | tail -n 1
'
alias vm ='vi ls db/migrate/*.rb | tail -n 1
'
答案 0 :(得分:3)
因为它以时间戳开头,所以它应该始终是按字母顺序排列的最后一个文件所以我只是做这样的事情:
vi `ls db/migrate/*.rb | tail -n 1`
答案 1 :(得分:2)
你熟悉这个:
rails generate migration AddDetailsToProducts part_number:string price:decimal
将在迁移文件中生成此内容:
class AddDetailsToProducts < ActiveRecord::Migration
def change
add_column :products, :part_number, :string
add_column :products, :price, :decimal
end
end
因此,您无需单独编辑迁移文件。