Rails. Работа с данными из существующей базы данных MS SQL :( - PullRequest
0 голосов
/ 12 января 2011

Это мой первый пост, поэтому, пожалуйста, будьте терпеливы со мной ...:)

В данный момент я изучаю рельсы и взялся за внутренний проект, чтобы помочь мне и получить правильную практическую практику.

Ситуация такая: У нас есть существующая БД MS SQL Server 2000 с кучей клиентов. Обычные вещи. Я не знаю, кто его спроектировал, но есть огромная таблица «Клиент», где все детали.

Скоро мы переместим клиентов в новую компанию и должны будем отслеживать движение. Таким образом, в приложении должен быть снимок деталей движения для конкретного клиента: был ли он вызван по телефону, разговаривал или связывался другими способами. Записки из разговора. Согласился ли он переехать. И т.д ...

Таким образом, исходные данные клиента должны быть объединены из MS SQL, а все новые данные отслеживания должны быть в надлежащей новой базе данных рельсов. Я думал о нескольких вещах: 1. Объединение записей клиентов из старой БД и выполнение остальной части работы в новой. Это не очень хорошо, так как мои исследования показывают, что рельсы не могут работать с двумя БД одновременно. 2. Подключение к старому MS SQL и выполнение всей работы с созданием новых необходимых таблиц. Кажется, с этим много проблем. Адаптер "odbc" выдаёт мне ошибки. Адаптер sqlserver не работает с mssql 2000 Плюс, я предсказываю много проблем при работе с существующей MS DB. 3. Этот метод я считаю наиболее рациональным. Извлеките таблицу клиентов из старой базы данных MS SQL в CVS и импортируйте ее в новую базу данных sqlite, созданную для приложения rails.

Пожалуйста, дайте мне знать, если вы думаете о других методах решения этой проблемы.

С третьим методом я все еще вижу много проблем, которые я хотел бы помочь, если это возможно. Например, rails создает дополнительные поля в таблице, поэтому импорт данных может не работать. Или я ошибаюсь? Третий метод звучит для вас выполнимо? Вы видите какие-либо подводные камни? Предложения?

Большое спасибо.

1 Ответ

0 голосов
/ 12 января 2011

Так что, к сожалению, ruby ​​не очень хорошо работает на Windows, и MSSQL, вероятно, является худшим выбором для rails db. Учитывая, что я могу развернуть на MySQL или PG на Linux, я бы экспортировал данные из старого БД, и полностью начать все заново, поэтому напишите скрипт импорта данных, который формирует вещи так, как нравится rails. Первым шагом было бы перейти к соглашениям о рельсах, поэтому модель Customer будет иметь таблицу клиентов с автоматически увеличивающимся полем первичного ключа с именем id, которое является целым числом. Все поля используют "широкий регистр" (все строчные, с разделителями слов подчеркивания) и поля аудита для всех таблиц, которые имеют дату и время, и называются созданным_обновленным / обновленным_данным. Определенно боль (особенно если вы новичок в рельсах), но у вас будет адское время, если вы попытаетесь бороться с конвенцией и, по крайней мере, не будете достаточно комфортно работать с платформой. IMO sqlite - плохой выбор для чего-либо другого, кроме приложения, которое не будет хранить много данных и будет использоваться только одним человеком.

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