Как получить собственные типы данных базы данных postgressql в консоли сервера rails - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть приложение rails с базой данных postgressql.

У меня есть требование, где мне нужно предоставить общий доступ к типу данных поля в соответствии с терминологией базы данных postgres sql для интеграции с API.

Есть ли какой-либо способ или метод, с помощью которого мы можем получить собственные типы данных базы данных PostgreSQL моего приложения.

Я попробовал следующие команды в консоли rails

fields_array ["abc","cde","mno","pqr","stv" ,,,,,,, so on]

fields_array.each do |field_name|
 p field_type = User.type_for_attribute(field_name).type
 p sql_type = User.type_for_attribute(field_name).sql_type ## not working###
end

Но я получаю тип данных по рельсам.Мне нужен тип данных столбца и размер в соответствии с родным типом данных postgressql.поскольку существует множество полей, я хочу просмотреть их и получить тип данных каждого поля.

1 Ответ

0 голосов
/ 07 февраля 2019
 sql_type = User.columns.map{ |column| column.sql_type if c.name == field_name }.compact.first

Вы можете получить все столбцы sql_types в коллекции User.columns.Вы перебираете карту с ними и возвращаете column.sql_type, если его имя равно field_name.Это возвращает массив с множеством nil s и одной sql_type строкой, если имя_поля существует..compact затем просто очищает массив от nil s и возвращает массив из одного элемента.Теперь вы можете позвонить .first, чтобы получить простую строку.

...