Я довольно новичок в настройке баз данных. Я начал создавать приложение и после поиска в Google и stackoverflow не нашел ответа, который бы в достаточной мере отвечал моим потребностям.
В настоящее время у меня есть таблица User со следующей структурой:
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`first_name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`last_name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`email` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`password_digest` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`remember_token` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `index_users_on_email` (`email`),
KEY `index_users_on_remember_token` (`remember_token`)
) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Мне нужно создать таблицу Products, которая ссылается на таблицу User. Затем мне нужно создать таблицу категорий, таблицу подкатегорий, таблицу типов и таблицу годов, чтобы я мог включать статические данные, которые конечный пользователь не изменит, но сможет отсортировать данные о товарах по различным категориям, подкатегориям. категории и т. д. (например, тип электронной коммерции). Так, например, категории могут состоять из (горы, вода, дорога и т. Д.), А подкатегории могут состоять из (сноуборд, лыжи, лодка, серфинг и т. Д.). Я не уверен, правильно ли я это структурирую и ищу небольшую помощь.
Я думал в пользовательской модели сделать следующее:
(Пользователи has_many: продукты, зависимые:: уничтожить)
а затем в таблице «Продукты» укажите: (own_to: user). Итак, как мне закончить отображение? Должен ли я добавить модель категорий: (assign_to: products), а в поле Products: (has_one: category)?
Спасибо за помощь.