таблица:
create type status as enum ('new_ride', 'ride_assigned', 'ride_start', 'ride_end', 'ride_cancelled');
create table ride_status (
id int primary key,
ride_id int,
created_at timestamp,
status status,
status_timestamp timestamp,
foreign key (ride_id) references ride (id));
insert into ride_status values
(1, 1, '2020-04-01 11:00:00', 'ride_start', '2020-04-01 11:05:00'),
(2, 1, null, 'ride_end', '2020-04-01 11:15:00'),
(3, 2, null, 'ride_start', '2020-04-02 12:06:00'),
(4, 2, null, 'ride_end', '2020-04-02 12:25:00'),
(5, 3, null, 'ride_start', '2020-04-03 14:05:00'),
(6, 3, null, 'ride_end', '2020-04-03 14:35:00'),
(7, 4, null, 'ride_start', '2020-04-04 11:10:00'),
(8, 4, null, 'ride_end', '2020-04-04 11:35:30'),
(9, 5, null, 'ride_start', '2020-04-04 15:05:00'),
(10, 5, null, 'ride_end', '2020-04-04 15:15:45');
перечисление и таблица успешно созданы, но при выполнении insert into
выдается следующая ошибка:
ERROR: invalid input value for enum status: "ride_start"
LINE 2: (1, 1, '2020-04-01 11:00:00', 'ride_start', '2020-04-01 11:0...
^
SQL state: 22P02
Character: 62
есть идеи об этой ошибке? спасибо
ОБНОВЛЕНИЕ: с помощью отсюда, я думаю, это postgresql версия 12, которая имеет эту проблему. когда я попробовал это в v11, оригинальное решение также работает. Для обхода v12 просто переименуйте enum в имя, отличное от имени столбца. Спасибо за помощь здесь!