テーブルと列の名前がすでに定義されている既存の(MySql)データベースを操作する必要があります。
ドキュメントを正しく理解している場合(そして、このテーマに関する適切なドキュメントが見つからなかったため、リンクを高く評価します)、テーブル名はPersistIdentityに関連しているため、大文字で始める必要があります(これは私には当てはまりません)。 m向き)。
ただし、列名は自動的に大文字になりません(少なくとも、宣言から自動的に生成されるコードを説明するコードスニペットのYesodブック、永続的な章で暗示されているものです)。したがって、DBの列は小文字で始める必要があります。
上記の説明は本当に本当ですか?
テーブルからIDへのマッピング、および列からフィールドへのマッピングを具体的に制御できますか?そうでない場合、ネーミングに自動的に適用されるルールは何ですか?したがって、どのような名前が禁止されていますか?
また、フィールドの1つはVARCHAR(30)です。どうすればそれをPersistentに伝えることができますか?それは現在(yesod develを通じて)次のように不平を言っています:
errMessage="キーの長さのないキー指定で使用されるBLOB/TEXT列'my_field'"}
これは自動移行の結果です(とにかく無効にする必要があります)。ただし、制限付きVARCHARフィールドを宣言したい場合は、Persistentとその自動移行ツールを使用して宣言できますか?
ありがとう、