Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ_по созданию ИС с помощью RoR_2018.docx
Скачиваний:
9
Добавлен:
17.06.2023
Размер:
12.5 Mб
Скачать

3 Настройка базы данных

В предыдущем разделе мы создали наше первое приложение, при его создании был указан параметр, что СУБД приложения будет служить PostgreSQL, за счет этого был создан файл для синхронизации БД и Railsнужного типа. По умолчанию СУБД в Rails является SQLite, поэтому если при создании приложений не указывать параметр (“--database=postgresql”), то будет подключена СУБД SQLite. Rails поддерживает самые распространенные СУБД: Firebird, MySQL, Oracle, MSSQLServer, PostgreSQLи SQLite.

Наша ИС будет работать с СУБД PostgreSQL.

Примечание:

Обратите внимание, что для нормальной работы нашей будущей ИС «Сотрудники» необходима корректная работа трех важных компонентов: Web-сервера, сервера БД и браузера.

Прежде чем продолжать работу далее следует убедиться, что наш новый проект «Sotrudniki» создан именно для работы с СУБД PostgreSQL, а не SQLite.

Для проверки необходимо в Вашей рабочей папке найти папку Config. Зайти в нее и найдя файл database.yml открыть его любым текстовым редактором (в нашем случае это может быть SublimeText 2). Внутри него должно быть указано postgresql, а не SQLite.

Важнейшее замечание:

Если в файле database.yml указан sqlite, то дальнейшая работа по выполнению заданий методических рекомендаций будет бесполезна. Наша будущая ИС «Сотрудники» будет работать НЕ КОРРЕКТНО!.

СЛЕДУЕТ ОБЯЗАТЕЛЬНО ДОБИТЬСЯ, ЧТОБЫ В ФАЙЛЕ database.yml БЫЛ УКАЗАН postgresql

Вернемся снова к нашему приложению, при его создании был создан файл для настройки конфигурации БД подключенной к приложению:

  1. Запустим клиент для работы с БД PostgreSQLpgAdmin3 (C:\RubyStack\postgresql\bin\pgAdmin3.exe).

Рисунок 3.1 – Клиент pgAdmin3

Примечание:

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

https://www.postgresql.org/ftp/pgadmin3/

Нажмите ПКМ по серверу PostgreSQL 9.5 и выберите Свойства, далее в параметре Обслуживание DB выберите шаблон template1 (Рисунок 3.2). Нажмите Ок.

Примечание:

Если список серверов пустой (или не работают имеющиеся), то необходимо создать новый вручную. Для этого во вкладке меню Файл выберите пункт Добавить сервер. В настройках сервера укажите название “PostgreSQL”, хост “localhost”, порт по умолчанию 5432, обслуживание DB “template1”, имя пользователя по умолчанию postgres, пароль, тот что вы задавали на этапе установки пакета Bitnamiдля базы данных PostgreSQL.Если после добавления сервера клиент по прежнему не отображает список серверов, необходимо перезапустить программу.

Рисунок 3.2 – Свойства сервера

Запустите сервер двойным щелчком левой кнопки мыши и введите пароль, который вы задавали при установке пакета RubyStack (Рисунок 3.3).

Рисунок 3.3 – Ввод пароля

  1. Создадим новую базу данных для работы с нашим приложением для этого слева по группе “Базы данных” нажмите правой кнопкой мыши и выберите “Новая база данных” (рисунок 3.4).

Рисунок 3.4 – Создание новой базы

  1. В поле имя введите “sotrudniki” (вы можете ввести свое название для базы, однако чтобы легче было ориентироваться в дальнейших инструкциях рекомендуем придерживаться этого варианта).В качестве владельца выберите postgres. Во вкладке Определение, проверьте, чтобы кодировка соответствовала “UTF8” (рисунки 3.5 и 3.6).

Рисунок 3.5 – Настройка новой БД

Рисунок 3.6 – Настройка новой БД

  1. Теперь вернемся в программу SublimeText, необходимо перейти в файл конфигурации БД в Rails.

Путь к файлу config/database.yml. Найдите строку:

development:

<<: *default

После этих строчек необходимо указать ряд параметров для подключения к БД, пропишем их:

adapter: postgresql

host: localhost

username: postgres

password: “Ваш пароль, который вы указывали при установке БД

PostgreSQL для учетной записи postgres

database: sotrudniki

pool: 5

Соответственно, стоит понимать что в дальнейших разработках нужно указывать разные поля для параметров (username, password, database, ну и host, если сервер будет не локальным).

Сохраните файл (Ctrl + S). Пример параметров можно увидеть на рисунке3.7.

Рисунок 3.7 – Конфигурация синхронизации базы данных с приложением

База настроена, можно приступать непосредственно к разработке приложения. Давайте запустим web сервер и убедимся, что все работает. Пропишите в консоли следующую команду:

rails server

или сокращенный вариант:

rails s

Эта команда запустить сервер, выставленный в нашем случае по умолчанию (Webrick), однако Rails может запускать и другие сервера, работу которых прежде необходимо настроить.

После попробуйте открыть главную страницу приложения, набрав адрес в браузере localhost:3000. Должна появиться стартовая страничка как на рисунке 3.8. (Такие же действия мы совершали, когда создавали наше первое приложение в 1 разделе данных методических указаний).

Рисунок 3.8 – Стартовая страничка

Примечание1:

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

Примечание2:

Остановить работу сервера можно нажав, комбинацию клавиш в консоли Ctrl+C и на запрос «Завершить выполнение пакетного файла» ввести команду «y».

Проверить остановлен ли сервер, можно запустив диспетчер задач (комбинация Ctrl+Shift+Esc) и в вкладке процессы для всех пользователей, проверить отсутствие соответствующего процесса (например, tvnserver либо ruby, либо какое-то другое название в зависимости от версии сборки) . Запуская и останавливая работу web-сервера можно опытным путем установить какой процесс появляется и исчезает.