【发布时间】:2026-02-04 22:30:02
【问题描述】:
我正在查看一些代码,但我不明白某些行。代码如下:
require "bundler"
Bundler.require
namespace :db do
desc "Setup database"
task :setup do
Sequel.extension :migration
@database = Sequel.postgres "sequel-playground"
end
desc "Run migrations"
task :migrate => [:setup] do
Sequel::Migrator.run(@database, "db")
end
desc "Reset database"
task :reset => [:setup] do
Sequel::Migrator.run(@database, "db", :target => 0)
Sequel::Migrator.run(@database, "db")
end
end
我理解涉及捆绑程序、命名空间、说明和任务的行。但是,我不明白这些东西......
-Sequel.extension :migration 这行在做什么? -@database = Sequel.postgres lins "sequel-playground 行只是设置一个等于 Sequel 数据库对象的实例变量?对吗? -行内:
Sequel:: Migrator.run(@database, "db")
Sequel 是模块,Migrator 是类还是运行方法?这两个参数在做什么?
- :target => 0 在重置任务中是做什么的?
【问题讨论】: