2016-05-31 2 views
1

내가 만든 루비 스크립트로 데이터베이스를 사용하고 싶습니다. 지금은 ... 내가 지금처럼 만든 모델 파일에database.yml 파일을 사용하여 내 Ruby 스크립트를 내 데이터베이스에 연결할 수 있습니까?

class MyModel < ActiveRecord::Base 
    self.abstract_class = true 
    self.table_name_prefix = "MyDatabase." 

    establish_connection(
    :adapter => "sqlserver", 
    :host => "XXXX", 
    :port => "14XX", 
    :database => "XXXX", 
    :username => "XXXX", 
    :password => "XXXX" 
) 

end 

를 데이터베이스 커넥터를 쓰고 있어요하지만 Github에서 내 프로젝트에 확인하기 위해 노력하고있어 이후는 자격 증명 및 연결을 끌어 원 정보를 내 .gitignore에 추가 할 수있는 database.yml 파일에 추가하십시오. 필자는 Rails 프로젝트에서이 작업이 어떻게 작동하는지에 대해 본 적이 없지만이 Ruby 스크립트에 대해 모방하고 싶습니다.

+0

읽기 YML 파일과 사용 연결을 설정하는 동안. BTW, 모델 내에서 연결을 만드는 것은 나쁜 습관입니다. – emaillenin

+1

모델 외부에서 ActiveRecord :: Base.establish_connection으로 연결을 설정하십시오. – Nishu

답변

0

이것이 내가 함께 결합하여 작동하는 방식입니다. 이것이 최선의 방법인지 확신 할 수 없지만 .gitignore the database.yml을 사용하고 github 프로젝트에서 중요한 자격 증명을 유지할 수 있습니다.

main.rb

require 'active_record' 
require 'tiny_tds' 
require './config/initializers/initializer.rb' 

설정/초기화/initializer.rb

@dbconfig = YAML.load(File.read("./config/database.yml")) 
ActiveRecord::Base.establish_connection(@dbconfig) 

Dir["./models/*.rb"].each { |file| require file } 

database.yml을

adapter: sqlserver 
username: XXXX 
password: XXXX 
host: "XXX.XXX.XXX.XXX" 
port: 1433 
database: "mydatabasename" 
pool: 5 
timeout: 15000