мне нужна активная запись, но я работаю вне рельсов (вот почему: Simple Ruby Input Библиотека проверки). мне нужно требовать весь драгоценный камень рельсов, или я могу быть DRYer?
как потребовать, чтобы активная запись работала вне рельсов
Ответы (2)
Вот как я использую ActiveRecord вне Rails:
#!/usr/bin/ruby
require 'active_record'
require 'mysql2' # or 'pg' or 'sqlite3'
ActiveRecord::Base.establish_connection(
adapter: 'mysql2', # or 'postgresql' or 'sqlite3'
database: 'DB_NAME',
username: 'DB_USER',
password: 'DB_PASS',
host: 'localhost'
)
# Note that the corresponding table is 'orders'
class Order < ActiveRecord::Base
end
Order.all.each do |o|
puts "o: #{o.inspect}"
end
person
Paweł Gościcki
schedule
07.09.2010
Вам нужно указать mysql2 в качестве адаптера, а не mysql (для гуглеров).
- person Damien Roche; 14.11.2012
Вам также понадобится libmysqlclient-dev на Ubuntu (и, возможно, на других платформах)
- person Ben West; 15.05.2013
@BenWest Какая польза от libmysqlclient-dev? (прошу прощения за отсутствие базовых знаний по этому вопросу)
- person Renan; 26.09.2013
@Renan, поскольку ruby gem компилирует некоторые из своих зависимостей, ему требуются заголовки разработки для библиотек, на которые ссылаются его зависимости. cprogramming.com/compilingandlinking.html
- person Ben West; 27.09.2013
Я бы хотел, чтобы люди не ссылались напрямую на имена пакетов Ubuntu/Debian. Их соглашение об именах в лучшем случае странное, и это приводит к запутанным ответам, за которые голосуют, что в конечном итоге не помогает людям искать.
- person Tim; 14.01.2014
Настоятельно рекомендуется настроить часовой пояс, иначе вы получите множество неясных проблем, связанных с часовым поясом. ::Time.zone = 'UTC'; ::ActiveRecord::Base.default_timezone = :utc
- person Nigel Sheridan-Smith; 11.07.2014
person
schedule
Ruby 1.9 предполагает
require 'rubygems'
.
- person onebree; 02.09.2015