Как перенести базу данных dbase в рельсы - PullRequest
1 голос
/ 22 февраля 2012

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

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

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

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

Ответы [ 2 ]

2 голосов
/ 29 февраля 2012

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

2 голосов
/ 22 февраля 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/.

...