失礼しました。記入ミスです。
ファイル名はdb.xmlで作成しました。
DBテーブルが生成されない
2011年1月18日 at 12:37
マニュアルに沿い、ブロックの作成を試みました。
以下のdb.php を作成し、それぞれの値をadd.phpより、フォームオブジェクトを介して保管するように組みました。
<?xml version="1.0"?>
<schema version="0.3">
<table name="amarank">
<field name="bID" type="I">
<key />
<unsigned />
</field>
<field name="keywords" type="C">
</field>
<field name="category" type="X2">
</field>
<field name="number" type="C">
</field>
<field name="width" type="C">
</field>
<field name="height" type="C">
</field>
</table>
</schema>
ところが、ブロックを挿入しても、一番上の'BId'および'keywords'フィールド以外のフィールドが生成されていないようで、もちろんプログラムが動作しません。ブロック自体は空のブロックとして挿入されます。
そして、DBのadminより手動でフィールドを生成すると動作します。
controller.phpの中のテーブル名も、一致しております。フィールドがひとつしか出来ないのは、何か上記の文法上のミスと疑っているのですが、どこがおかしいのか、見当がつかないでおります。
どなたか、お分かりになる方はいらっしゃいませんでしょうか?
よろしくお願いいたします。
Re: Re: Re: DBテーブルが生成されない
2011年1月18日 at 16:34
予想ですが、InnoDBでテーブルが作られていませんか?
多分type="X2"だとMySQLではカラムの型がtextになる気がします。
InnoDBではtext型は扱えなかったので、それでエラーになってるのでは?
と思います。
多分type="X2"だとMySQLではカラムの型がtextになる気がします。
InnoDBではtext型は扱えなかったので、それでエラーになってるのでは?
と思います。
Re: Re: Re: Re: Re: DBテーブルが生成されない
2011年1月18日 at 17:24
X2でも平気そうです。
2011年1月19日 at 4:39
クロスリファレンスも作ったので、ちょっと気になって調べてみましたが、X2だとLONG TEXTとしてカラムが作られる様です。
で、先の書き込みで僕が勘違いしてました。InnoDBでもtext型は作れます。ただフルテキストインデックスが作れないだけでした。
そして
http://concrete5.xross-cube.com/concrete5-5.4.1.1.1.ja_ref/concrete/blocks/content/db.xml.source.html
の様にX2でもテーブルは作成されます。
全角と半角を間違えたとか何か単純なミスが原因の様な気がします。
で、先の書き込みで僕が勘違いしてました。InnoDBでもtext型は作れます。ただフルテキストインデックスが作れないだけでした。
そして
http://concrete5.xross-cube.com/concrete5-5.4.1.1.1.ja_ref/concrete/blocks/content/db.xml.source.html
の様にX2でもテーブルは作成されます。
全角と半角を間違えたとか何か単純なミスが原因の様な気がします。
Your post has been saved and will be published after approval by the forum moderator.
Tao Sasaki
Re: DBテーブルが生成されない