← Каталог
Работа с базами данных из Ruby — Использование Sequel внутри Rails
Фрагмент из «Работа с базами данных из Ruby»: Использование Sequel внутри Rails.
Разбор:
- Фрагмент показывает конкретный сценарий, который стартует со строки `---` и задаёт контекст выполнения.
- Ключевые элементы блока: `Sequel`, `Rails`, `Sequel::Database`, они определяют основную логику примера.
- По шагам код выполняется так: `---` -> `#### Использование Sequel внутри Rails` -> `Можно инициализировать отдельный `Sequel::Database` для части прилож`.
- Практически важно добавить обработку ошибок и явные проверки входа, чтобы исключить скрытые падения в рантайме.
- Типичная ошибка при развитии такого кода — смешивать бизнес-правила и инфраструктурные детали в одном месте; лучше разделять ответственность.
# config/initializers/sequel.rb
SequelDB = Sequel.connect(ENV['DATABASE_URL'])
# app/models/analytics_report.rb
class AnalyticsReport
def self.run
SequelDB[:events]
.where{ timestamp > (Date.today - 30) }
.group_and_count(:event_type)
end
end
Разбор:
- Фрагмент показывает конкретный сценарий, который стартует со строки `---` и задаёт контекст выполнения.
- Ключевые элементы блока: `Sequel`, `Rails`, `Sequel::Database`, они определяют основную логику примера.
- По шагам код выполняется так: `---` -> `#### Использование Sequel внутри Rails` -> `Можно инициализировать отдельный `Sequel::Database` для части прилож`.
- Практически важно добавить обработку ошибок и явные проверки входа, чтобы исключить скрытые падения в рантайме.
- Типичная ошибка при развитии такого кода — смешивать бизнес-правила и инфраструктурные детали в одном месте; лучше разделять ответственность.
# config/initializers/sequel.rb
SequelDB = Sequel.connect(ENV['DATABASE_URL'])
# app/models/analytics_report.rb
class AnalyticsReport
def self.run
SequelDB[:events]
.where{ timestamp > (Date.today - 30) }
.group_and_count(:event_type)
end
end