Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 使用Sequel生成迁移_Ruby_Migration_Sequel - Fatal编程技术网

Ruby 使用Sequel生成迁移

Ruby 使用Sequel生成迁移,ruby,migration,sequel,Ruby,Migration,Sequel,我在用续集 如何生成迁移文件(即使是空的),使其名称类似于20160313142249\u create\u table1.rb 也就是说,如何让它生成“20160313142249”部分?Sequel可以做到吗?Sequel没有附带生成迁移文件的方便的Rake任务,但您可以自己编写。这是一个非常简单的例子 # Rakefile namespace :db do desc "Generate migration file" task :generate_migration, [:file

我在用续集

如何生成迁移文件(即使是空的),使其名称类似于
20160313142249\u create\u table1.rb


也就是说,如何让它生成“20160313142249”部分?Sequel可以做到吗?

Sequel没有附带生成迁移文件的方便的Rake任务,但您可以自己编写。这是一个非常简单的例子

# Rakefile
namespace :db do
  desc "Generate migration file"
  task :generate_migration, [:file_name] do |task, args|
    filename = args.file_name
    time = Time.now.strftime("%Y%m%d%H%M%S%L")
    sh "touch migrate/#{time}_#{filename}.rb"
  end
end
现在的用法很简单,如
rakedb:generate\u migration[file\u name]

使用。如果迁移名称的版本大于2000001,将自动使用该名称。类似bash的shell中的
date+%Y%m%d%H%m%S
将为您生成时间戳,或者您可以使用
strftime
在Rake任务中编写小型生成器。