Djangoのsyncdbでgroongaテーブルを作成するSQLを流しこむとエラーが出る件
次の条件のときにDjangoでエラーがおきます。
- Djangoのデータベース作成コマンド「syncdb」を行うとき
であって
- 外部SQLとしてgroongaテーブルを作成するとき
次のような流れです。
# python ./manage.py syncdb
Failed to install index for hoge.Huga model: (1005, "name can't start with '_' and 0-9, and contains only 0-9, A-Z, a-z, or _: <#sql-454f_14cb880>")
No fixtures found.
これは接頭語に「 _ 」(アンダーバー)のカラム名があると、そのテーブルにインデックスが張れなくなるエラーです。
Groongaの場合は、_idや_scoreで特別な意味のあるカラムなので、このようなエラーが出てしまいます。
目的は特定の文字列のカラムにgroongaストレージエンジンからインデックスを張って検索することなので、
このまま開発を進めます。