这是我创建的脚本,用于将用户添加到我的生产数据库中。
puts "Name of the user"
name = gets.chomp
puts "Login of the user"
login = gets.chomp
等等等……
我想做的是连接到我的生产数据库,这样我就可以轻松管理新用户,而无需多次输入大量字段。
在文件的顶部,我尝试了几种连接数据库的方法,但无济于事....
尝试 1:
require 'config/environment.rb'
这将我连接到开发数据库
尝试 2:
require 'active_record'
ActiveRecord::Base.establish_connection(:production)
`establish_connection': production database is not configured (ActiveRecord::AdapterNotSpecified)
尝试 3:
require 'active_record'
ActiveRecord::Base.establish_connection(:adapter => 'postgresql', :host => 'company_host')
load_missing_constant': uninitialized constant Rails (NameError)
尝试 4:
require 'active_record'
ActiveRecord::Base.establish_connection(:adapter => 'postgresql', :host => 'company_host', :database => '/var/local/config/database.yml')
load_missing_constant': uninitialized constant Rails (NameError)
尝试 5:
ActiveRecord::Base.establish_connection(:adapter => 'postgresql', :host => 'host.company.com',
:database => 'production', :user => 'user', :password => 'password')
我的生产数据库的 database.yml 文件条目如下所示。
production:
db_host: host.company.com
db_name: production
db_pass: password
db_user: user
我尝试了在这里找到的其他组合 API guide但无济于事。我正在运行 rails 2.3.8。和 ruby 2.0。非常感谢您的帮助。
最佳答案
我会创建一个特殊的 rake 任务。
假设我想要一个单独的命名空间
manual
并且任务的名称是create_user
:namespace manual task :create_user => :environment do puts "Name of the user" name = gets.chomp puts "Login of the user" login = gets.chomp end
运行
ENV=production rake manual:create_user
如果有帮助,您甚至可以将参数传递给 rake 任务。
不确定这是否是您正在寻找的东西,但也许这是您想要实现的目标的更快替代方案。
如果这没有帮助,请继续对答案发表评论 :)
关于ruby-on-rails - 如何让我的独立 ActiveRecord::Base 工具连接到我的生产数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31600350/