Ruby on Rails 3, продолжение, подключение к существующей базе данных - PullRequest
0 голосов
/ 06 марта 2011

Как использовать Rails 3 для чтения данных из таблиц в существующей базе данных, которая не соответствует стандартной схеме Rails 3?

Мне сказали, что камень сиквела - хорошее место для начала, но у меня не так уж много.

Особенности:

  • Это база данных Oracle. Я уже установил соединение и подтвердил, что миграции и откаты работают правильно.
  • Я создал скаффолды для необходимых таблиц и соответствующих столбцов.
  • Я ищу способ указать и отобразить соответствующие таблицы и столбцы.
  • Можно ли это сделать без сиквела?

1 Ответ

0 голосов
/ 01 апреля 2011

Сиквел является отличным украшением для этого.Это мой первый выбор, когда я имею дело с устаревшими базами данных.

Это база данных Oracle.Я уже установил соединение и подтвердил, что миграции и откаты работают должным образом.

Если ваша база данных находится на предприятии, находится в производстве и используется другими приложениями, вам необходимоочень осторожно, используя миграции.Я бы рекомендовал использовать их только в том случае, если вы также отвечаете за разработку баз данных, и даже тогда я буду осторожен.

Я создал скаффолды для необходимых таблиц и соответствующих столбцов.

Под скаффолдами вы подразумеваете формы?

Я ищу способ указать и отобразить соответствующие таблицы и столбцы.

Сиквел очень гибок и позволяет вам использовать сырой SQL, использовать модели или работать между ними.Если у вас есть таблица с именем «ложки» и вы к ней подключены:

DB[:spoons]

создаст набор данных для доступа к таблице.Оттуда вы можете добавлять, где предложения, выборки, упорядочение и т. Д.

Альтернативным способом является использование моделей, аналогичных ActiveRecord:

class Spoon < Sequel:Model
end

, который создает модель записей таблицы саксессоры для всех полей.

Сиквел делает предположения о первичном имени индекса "id", например, ActiveRecord, но вы можете изменить его, если необходимо.

Любой метод очень мощный и хорошо работает с базами данных, используя автообнаружениеполя и их типы.

README - очень хороший обзор того, что вам нужно знать.

Кроме того, Джереми Эванс является разработчиком и очень отзывчив, если вызадайте ему технические вопросы.

Можно ли это сделать без продолжения?

Конечно.ActiveRecord будет работать с использованием моделей, но вам, возможно, придется сообщать ему имена ключей или таблиц, если они не соответствуют заранее заданным / ожидаемым именам.

...