2008-09-15 18 views
8

У кого-нибудь есть положительный опыт работы с MS SQL Server 2005 от Rails 2.x?Использование Rails 2.x с MS SQL Server 2005

Наши разработчики используют Mac OS X, а наше производство работает на Linux. По старым причинам мы должны использовать MS SQL Server 2005.

Мы используем ruby-odbc и сталкиваемся с различными проблемами, слишком удручающими, чтобы перечислять здесь. У меня создается впечатление, что мы делаем что-то неправильно.

Я говорю о бескомпромиссном использовании, то есть с миграциями и всем.

Спасибо,

ответ

1

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

Я не думаю, что есть такое «хорошее решение» для этого, я боюсь.

+0

Вы настраиваете себя на миры боли. Либо переносите свои данные, либо настройте какой-то внешний интерфейс MySQL на ваш сервер MS SQL, если есть другие проблемы, о которых вы не упоминаете. Необходимая схема Rails должна быть достаточной мотивацией. – Subimage 2008-09-19 05:04:56

3

Вместо запуска вашего производственного сервера на Linux вы считаете, что используете рельсы в Windows? В настоящее время я разрабатываю приложение с использованием SQL Server и до тех пор, пока оно не будет работать нормально.

Это шаги для доступа к базе данных SQL Server из приложения Rails 2.0, работающего в Windows.

Адаптер SQL Server по умолчанию не включен в Rails 2. Необходимо загрузить и установить его, используя следующую команду.

gem install activerecord-sqlserver-adapter 
--source=http://gems.rubyonrails.org 

Скачать последнюю версию рубиново-DBI из

http://rubyforge.org/projects/ruby-dbi/

, а затем извлечь файл из рубинового DBI \ Lib \ DBD \ ADO.rb

в C: \ рубин \ Lib \ рубин \ site_ruby \ 1,8 \ DBD \ ADO \ ADO.rb.

Предупреждение: папка ADO не существует, поэтому вам необходимо создать ее заранее.

Это не представляется возможным для предварительной рельсы для SQL Server с помощью --database вариант, просто создать приложение, как обычно, а затем изменить конфиг \ database.yml в папку приложения следующим образом:

development: 
adapter: sqlserver 
database: your_database_name 
host: your_sqlserver_host 
username: your_sqlserver_user 
password: your_sqlserver_password 

Run rake db: migrate, чтобы проверить вашу установку. Если все в порядке, вы не должны получать сообщение об ошибке.

8

Вы считаете, что используете JRuby? Microsoft имеет JDBC driver for SQL Server, который можно запускать в вариантах UNIX (это чистый Java AFAIK). Сегодня мне удалось получить предварительный просмотр технологии 2.0 с JRuby и Rails 2.1. Я еще не пробовал миграцию, но пока что драйвер, похоже, работает неплохо.

Вот грубый набросок того, как получить его работу:

  1. Убедитесь, что Java 6 установлен
  2. Установка JRuby с помощью инструкции на JRuby website
  3. Установка Rails с использованием драгоценных камней (jruby -S gem install rails)
  4. Загрузите пакет UNIX Microsoft's SQL Server JDBC driver (версия 2.0)
  5. Распаковать Microsoft SQL Server драйвер
  6. Найти sqljdbc4.jar и скопировать его в каталог Lib JRuby в
  7. jruby -S gem install activerecord-jdbcmssql-adapter
  8. Создать рельсы проекта (jruby -S rails hello)
  9. Поместить соответствующие настройки в database.yml (пример ниже)
  10. вы все сделали ! Попробуйте запустить jruby script/console и создайте модель.
 
    development: 
     host: localhost 
     adapter: jdbc 
     username: sa 
     password: kitteh 
     driver: com.microsoft.sqlserver.jdbc.SQLServerDriver 
     url: jdbc:sqlserver://localhost;databaseName=mydb 
     timeout: 5000 

Примечание: Я не уверен, что вы можете использовать проверку подлинности Windows с драйвером JDBC. Возможно, вам потребуется использовать проверку подлинности SQL Server.

Удачи вам!

Бен

+1

Не должен ли быть activerecord-jdbcmssql-адаптер? – Sunny 2010-08-05 14:35:10

1

Наши разработчики используют Mac OS X, а также производственные пробегов на Linux. Для устаревших причин, почему мы должны использовать MS SQL Server 2005.

Мы разрабатываем на Ubuntu 8.04, но наши производственные серверы работают под управлением Linux (Centos), и мы также используем SQLServer 2005

Из наших переживаний начальная настройка и конфигурация были довольно болезненными - потребовалось несколько недель, чтобы все было хорошо вместе. Тем не менее, теперь все это кажется безразличным, и я считаю, что SqlServer работает отлично.

Мы используем драйверы ODBC FreeTDS, которые после настройки отлично.

НЕ запускайте производство Рельсы приложений в Windows - вы просите о проблемах. Это нормально для развития, но не более того. Rails недостаточно масштабируется на платформах Windows.

Надеюсь, что это поможет.