У меня есть устаревшая схема SQL, которая выглядит примерно так:
CREATE TABLE `User` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`userType` varchar(255) DEFAULT NULL,
`seqNo` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8;
CREATE TABLE `Employee` (
`userType` varchar(255) DEFAULT NULL,
`id` bigint(20) NOT NULL,
`employeeNumber` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
KEY `FKB65C8D4DB07F537D` (`id`),
CONSTRAINT `FKB65C8D4DB07F537D` FOREIGN KEY (`id`) REFERENCES `User` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
В этой схеме Employee является пользователем в модели домена.то есть поле «id» сотрудника является внешним ключом, который ссылается на User.id.
Как бы я закодировал эту связь с моделями и миграциями Rails 3.0?Например, если бы я запустил
rails g scaffold User userType:string seqNo:integer
, я получил бы миграцию базы данных Rails, которая создаст очень похожую схему, и модель, которая могла бы получить доступ к этой таблице.Однако я не уверен, что делать, чтобы получить таблицу Employee с Employee.id в качестве внешнего ключа со ссылкой на User.id, а также получить модель Employee, которая может обращаться к обеим таблицам.
Как мне это сделать?