Как перенести базу данных dbase в рельсы

Как использовать грабли с https://github.com/infused/dbf/. Я пытался написать в database.yml такой текст:

development:  
  adapter: dbf
  database: db/file.dbf
  pool: 5
  timeout: 5000

Но говорят, что не нашли адаптер activerecord-dbf-adapter.
Мне нужно только читать DBF-файлы.
PS. Я не могу использовать адаптер JDBC.

ОБНОВИТЬ
Я хочу использовать базу данных dbf, например, другую базу данных (например, mysql) в рельсах с поддержкой ActiveRecord

2 ответа

Решение

Я думаю, что вы хотите использовать dbf с ActiveRecord, но это не то, что делает этот гем. Он просто дает возможность читать файлы dbf из Ruby.

Чтобы использовать его в своем приложении, вы можете написать класс, который будет реализовывать все распространенные методы, которые вы хотите, и наследовать оттуда, что-то вроде:

require 'dbf'
class DbfModel

  def initialize
    @table= DBF::Table.new("#{self.class.name}.dbf")
  end

  def find your_params_here
    @table.find your_params_here
  end

end

Если вы хотите использовать dbf с ActiveRecord, вы должны найти какой-нибудь адаптер для него, но мне не повезло в поисках.

На https://github.com/infused/dbf/ есть глава "Основное использование", которая отвечает на ваш вопрос.

require 'dbf'
table= DBF::Table.new("your_table.dbf")

database.yml это файл конфигурации для подключения к базам данных Если вы не хотите подключаться к dbf-db во всем приложении rails, вы не должны указывать adapter: dbf, Вот почему вы получаете эту ошибку.

Я настоятельно рекомендую вам прочитать руководства на http://guides.rubyonrails.org/getting_started.html. Также прочитайте readme и вики о самоцвете на https://github.com/infused/dbf/.

Другие вопросы по тегам