氷川 XOOPS 研究室

モジュール制作、ウェブサービスなどなど

テーブルの作成 anchor.png

今回は Cubson とは関係ありません。モジュールで使う MySQL のテーブルを作る作業です。

XSAS や XAIO でテスト環境を作っている場合,phpMyAdmin が使えるようになっているはずです。これを使うと,SQL を使うことなく,ブラウザのフォームで項目を設定してテーブルを作成できますので,不慣れな方は利用されると良いかと思います。

Page Top

テーブル名 anchor.png

テーブル名は,{prefix}_{modulename}_{tablename} というように付けてください。そうしないとちゃんと動きません

prefix
XOOPSをインストールするときに設定した DB Prefix です。phpMyAdmin でテーブル一覧を表示すると,テーブル名の頭に同じ名前が並んでいるので分かると思います。XOOPS Cube Legacy をデフォルト値でインストールすると,6文字くらいのでたらめなアルファベットと数字の羅列になっているはずです。XOOPS2.0.X から移行した場合は,XOOPS_となっていることが多いと思います。
modulename
モジュール名。前回使ったのと同じ名前にしてください。
tablename
テーブル名。
as8da9_bookmark_bm

それも面倒だ,早く動くところを見たい,という方は,以下の SQL を使ってください。通常のモジュールと同様に,/{module_dir}/sql/mysql.sql という名前でファイルを作り,中身に以下を記述してください。

CREATE TABLE `{prefix}_bookmark_bm` (
 `bm_id` int(11) unsigned NOT NULL auto_increment,
 `bm_title` varchar(255) NOT NULL default '',
 `url` varchar(255) NOT NULL default '',
 `uid` mediumint(8) unsigned NOT NULL default '0',
 `memo` text NOT NULL,
 `reg_unixtime` int(11) unsigned NOT NULL default '0',
 PRIMARY KEY  (`bm_id`)
) TYPE=InnoDB AUTO_INCREMENT=1 ;

また、{moduledir}/xoops_version.php の[cubson:tables]に、テーブルの情報を追加してモジュールをアップデートしてください。

##[cubson:tables]
$modversion['tables'][0] = "{prefix}_bookmark_bm";
##[/cubson:tables]

bookmark モジュールじゃないものを作りたいという人は,がんばりましょう!

Page Top

項目名 anchor.png

Cubson では,フィールド名にある程度縛りがあります。いくつかは必須で,いくつかは「従っていると楽」というものです。僕も全部正確に知っているわけではないですが,とりあえずは次の二つを覚えておきましょう。

プライマリィキー
フィールド名を{tablename}_id にして,autoincrement を付けます。例:bm_id
名称
タイトルとか名称とか件名を表す項目。プライマリィキーの次に置きます。例:bm_name

Front page   Freeze Diff Backup Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Counter: 3981, today: 1, yesterday: 1
Last-modified: 2008-08-12 (Tue) 19:46:48 (JST) (4026d) by kilica

Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project - xc-tokai