MappedStringIndex

当初、WikiEntryクラスは、Stringをキーにするつもりでした。一応、MappedStringIndexというクラスが用意されているのですが、このクラスはフォームへの表示や書込みができないように設定されています。ランダムな文字列を自動生成してユニーク・キーにするためのもののようです。

一応、MappedStringIndexをキーにしてLiftを起動してみたのですが、PRIMARYKEYの作成に失敗します。NOT NULL制約がない、というのでDerbyに怒らます。

DerbyでMappeStringIndexを使うには、ij.batを起動して手動でNOT NULLとPK制約を追加しないといけないようです。

ij> ALTER TABLE WIKIENTRY ALTER NAME NOT NULL;
0 行が挿入/更新/削除されました
ij> ALTER TABLE WIKIENTRY ADD CONSTRAINT wikientry_PK PRIMARY KEY(name);
0 行が挿入/更新/削除されました

同じことをMySQLでも試してみましたが、こちらはそういう問題は起こりませんでした。