我正在看一些代码,我不理解一些行。代码如下:
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我理解涉及bundler、namespace、desc和task的代码行。但是,我不明白这些事情...
-What是Sequel.extension :迁移吗?-The @database = Sequel.postgres lins " Sequel -playground行只是设置一个等于Sequel数据库对象的实例变量?对吗?-In行:
Sequel:: Migrator.run(@database, "db")Sequel是模块,Migrator是类,是运行方法吗?这两个参数在做什么?
-What :目标=> 0在重置任务中做了什么?
发布于 2015-01-01 00:54:36
这条线
Sequel.extension :migrationSimple为Sequel手动启用迁移扩展,因为它不是核心库的一部分。
Migration Extension
这条线
Sequel.postgres打开数据库,为您提供一个可在其上运行命令的实例。
Open Database
至于
Sequel::Migrator.run(@database, "db", :target => 0)它只是告诉Sequel将给定的数据库迁移到模式的版本0。
Rake Migrations
文档通常包含这些问题的所有答案。
https://stackoverflow.com/questions/27723880
复制相似问题