반응형
Rails 외부의 Ruby 스크립트에서 ActiveRecord를 사용하는 방법은 무엇입니까?
ActiveRecord를 사용하여 데이터베이스 모델에 쉽게 액세스하려는 작은 루비 스크립트가 있습니다. 이를 수행하는 가장 좋은 방법은 무엇입니까?
require 'active_record'
# Change the following to reflect your database settings
ActiveRecord::Base.establish_connection(
adapter: 'mysql2', # or 'postgresql' or 'sqlite3' or 'oracle_enhanced'
host: 'localhost',
database: 'your_database',
username: 'your_username',
password: 'your_password'
)
# Define your classes based on the database, as always
class SomeClass < ActiveRecord::Base
#blah, blah, blah
end
# Now do stuff with it
puts SomeClass.find :all
some_class = SomeClass.new
이후 버전의 activerecord (v3 +)에서는 이와 같이 요구해야한다는 점에 주목할 가치가 있습니다.
require "active_record"
메모리 내 SQLite 데이터베이스를 사용하여 단 몇 줄로 최소한의 스크립트를 만들 수 있습니다. 이 답변은 Gist 로도 제공됩니다 .
멋진 ActiveRecord 버그 보고서를 게시하는 방법에 대한 Jon Leighton의 블로그 게시물 에서 영감을 얻었 습니다.
# Based on http://www.jonathanleighton.com/articles/2011/awesome-active-record-bug-reports/
# Run this script with `$ ruby my_script.rb`
require 'sqlite3'
require 'active_record'
# Use `binding.pry` anywhere in this script for easy debugging
require 'pry'
# Connect to an in-memory sqlite3 database
ActiveRecord::Base.establish_connection(
adapter: 'sqlite3',
database: ':memory:'
)
# Define a minimal database schema
ActiveRecord::Schema.define do
create_table :shows, force: true do |t|
t.string :name
end
create_table :episodes, force: true do |t|
t.string :name
t.belongs_to :show, index: true
end
end
# Define the models
class Show < ActiveRecord::Base
has_many :episodes, inverse_of: :show
end
class Episode < ActiveRecord::Base
belongs_to :show, inverse_of: :episodes, required: true
end
# Create a few records...
show = Show.create!(name: 'Big Bang Theory')
first_episode = show.episodes.create!(name: 'Pilot')
second_episode = show.episodes.create!(name: 'The Big Bran Hypothesis')
episode_names = show.episodes.pluck(:name)
puts "#{show.name} has #{show.episodes.size} episodes named #{episode_names.join(', ')}."
# => Big Bang Theory has 2 episodes named Pilot, The Big Bran Hypothesis.
# Use `binding.pry` here to experiment with this setup.
참조 URL : https://stackoverflow.com/questions/1643875/how-to-use-activerecord-in-a-ruby-script-outside-rails
반응형
'Programing' 카테고리의 다른 글
vim을 사용하여 텍스트 상자를 편집 할 수있는 Firefox 추가 기능이 있습니까? (0) | 2020.12.30 |
---|---|
.cpp 파일과 .h 파일의 차이점은 무엇입니까? (0) | 2020.12.30 |
Java에서 서명되지 않은 짧은 (0) | 2020.12.30 |
Core Data를 사용하고있는 지금 모델을 단위 테스트하는 방법은 무엇입니까? (0) | 2020.12.30 |
.Net과 호환되는 GZIPOutputStream을 사용하여 문자열을 압축 및 압축 해제하려면 어떻게해야합니까? (0) | 2020.12.30 |