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

Как использовать rake с 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


person Anton Kandybo    schedule 22.02.2012    source источник


Ответы (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, вы должны найти какой-нибудь адаптер для него, но мне не повезло найти его.

person cicloon    schedule 29.02.2012

На 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/.

person pdu    schedule 22.02.2012
comment
Я прочитал главу Миграция на ActiveRecord в github.com/infused/dbf. , но что делать дальше не знаю - выдает ошибку. - person Anton Kandybo; 23.02.2012
comment
хотите ли вы читать из файла dbf отдельно в rails ИЛИ хотите ли вы, чтобы все приложение rails использовало базу данных dbf вместо, например, MySQL? Ваш вопрос немного двусмысленный - person pdu; 23.02.2012
comment
Я хочу использовать базу данных dbf вместо другой базы данных (например, mysql). - person Anton Kandybo; 29.02.2012
comment
Посмотрите на ответ cicloon. - person pdu; 02.03.2012