Я использую react-admin
с hasura
в качестве API для Postgres.
Мне нужны разные сущности, которые все в основном люди, но с разными целями.Например.студент и учитель.Я думаю, учитывая аналогичные атрибуты, было бы хорошо иметь личную таблицу, которая будет иметь общие характеристики, а затем иметь отдельные таблицы для определенных атрибутов.Например, такие таблицы:
persons {
id,
first_name,
last_name,
birthday
...
}
students {
id,
person_id,
date_enrolled
...
}
teachers {
id,
person_id,
sallary
...
}
Проблема, с которой я сталкиваюсь в этой схеме, заключается в том, что для создания ученика сначала нужно создать человека, которому он нужен.Так что в реагирующем администраторе мне нужно будет сначала предоставить пользователю форму для создания человека, а затем другую форму для создания студента на основе этого человека.
Я думаю, что это не идеально, и, возможно, было бы лучшеиметь отдельные таблицы для students
и teachers
, хотя некоторые поля (имя, фамилия, день рождения ...) будут повторяться в обеих таблицах.
Этот вопрос не является специфическим для react-admin
, но болееобщих советов по подобию модели БД, поэтому любые советы приветствуются:).