Можете ли вы отобразить или преобразовать имена таблиц и полей в Directus 7 App или API?

Я пробую Directus 7 создать API и заменить CMS поверх существующей базы данных MySQL, которая существует уже 10 лет. Я достаточно легко запустил CMS и API, и он нашел все мои существующие таблицы и поля. Я решил "управлять" соответствующими и, таким образом, выставить их API.

Я не хочу раскрывать структуру базы данных непосредственно в API или в интерфейсе CMS. Но я не вижу способа сопоставления или преобразования существующих имен полей таблицы MySQL в имена свойств ресурса API. Столбцы имеют префиксное соглашение, которое не имеет смысла, когда подчеркивания обращены к пробелам, а также в верблюжьих. Я не могу (не буду) менять БД, так как на ней лежит масса кода и конфигурации.

Я заметил, что вы можете переименовать поле при назначении пользовательского интерфейса (но не "отображаемого имени" напрямую), но все это делает создание нового столбца в БД. Это не хорошо, так как я хочу использовать устаревшие столбцы.

Я не вижу способа переименовать коллекцию.

Я рассмотрел проблемы как в приложении, так и в API, но могу видеть только обсуждения, связанные с переводом (т. Е. Человеческим языком) https://github.com/directus/app/issues/779 и https://github.com/directus/app/issues/422, который, я думаю, может работать, но это кажется хакерским.

Directus кажется очень мощным инструментом и его легко установить поверх устаревшей БД, но без слоя преобразования я не смогу его реально использовать.

Если он действительно не существует, то я подам запрос на добавление функции.

1 ответ

Я знаю, что это старо, и я надеюсь, что вы нашли ответ. Но так как я пришел из Google и не смог, вот что я могу сделать:

Допустим, у вас есть столбец (устаревший) «id_customer». Вы хотите использовать отношение...

Просто создайте новое поле с таким же именем столбца. Не получится, но отношение один на многих (например) сработает.

Это немного сложно, но лучшего решения я не нашел.

Другие вопросы по тегам