【问题标题】:Generating a migration with Sequel使用 Sequel 生成迁移
【发布时间】:2018-06-08 08:48:47
【问题描述】:
我正在使用 Sequel。
我怎样才能生成一个迁移文件,即使是空的,它的名字会像20160313142249_create_table1.rb?
也就是说,我怎样才能让它生成“20160313142249”部分?续集能做到吗?
【问题讨论】:
-
使用TimestampMigrator。如果迁移名称的版本大于 20000101,它将自动使用。类似 bash 的 shell 中的 date +%Y%m%d%H%M%S 之类的东西将为您生成时间戳,或者您可以使用 strftime 在 Rake 任务中编写您的小生成器.
标签:
ruby
migration
sequel
【解决方案1】:
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
现在的用法很简单,如rake db:generate_migration[file_name]。