Има ли начин да се направи ключ за таблица, който не използва механизма за постоянен идентификатор?

Опитвам се да настроя моята схема на postgres в yesod. Планът е да оставя yesod да генерира таблиците, но аз ще вмъквам нови записи в таблиците от lua скрипт в C++ програма. Бих искал една от таблиците да има първичен ключ, базиран на уникален Int64, който идва от C++ средата. Мога ли да накарам Persistent да третира тази колона като ключ на таблицата, но без автоматично генериране на идентификатор?

Предполагам, че мога да имам обикновена колона с идентификационен номер на запис в постоянен стил и колона Int64, но това изглежда разточително и прекалено сложно. Int64 винаги ще бъде уникален и това е, което ще използвам, за да правя справки в записите на таблицата, за да видя дали вече съществуват.


person Bzzt    schedule 22.02.2012    source източник
comment
Не проверих това, но какво ще стане, ако промените типа на колоната с id, създадена от Persistent, на Int64? Ще промени ли Persistent типа след миграцията?   -  person godfryd    schedule 28.02.2012


Отговори (1)


Мисля, че този въпрос беше зададен в списъка с имейли. Краткият отговор е не, първичният ключ в Persistent се увеличава автоматично, но можете да имате вторични индекси

person Greg Weber    schedule 11.03.2012