db:create在Rails中定义的位置在哪里?

时间:2018-05-01 20:26:52

标签: ruby-on-rails ruby

以下命令应该创建一个新数据库。

  

rails db:create

这个函数定义在哪里?或者这是rails中的预打包功能吗?

1 个答案:

答案 0 :(得分:3)

它位于框架的databases.rake文件中:

Person

每当您怀疑或想知道任务的定义位置时,您可以使用__init__(或namespace :create do task all: :load_config do ActiveRecord::Tasks::DatabaseTasks.create_all end ActiveRecord::Tasks::DatabaseTasks.for_each do |spec_name| desc "Create #{spec_name} database for current environment" task spec_name => :load_config do db_config = ActiveRecord::DatabaseConfigurations.config_for_env_and_spec(Rails.env, spec_name) ActiveRecord::Tasks::DatabaseTasks.create(db_config.config) end end end )命令,传递任务:

rails -W

注意它是在Rake的0.9版本中引入的。根据您正在使用的版本,这可能会或可能不会起作用。