2007年11月14日

Ruby on Railsで単純アプリケーション開発1

とりあえず伝票テーブルと伝票明細テーブルのレイアウトはこんな感じでしょうか。商品マスタテーブルは、今回は除外しました。

テーブル名はRailsの規約に沿って複数形にしました。ためしにscaffoldしてみたらできたのでOKのようです。ローマ字表記でも単純に's'を付ければいいようですね(Railsのソースを今度ハックしてみよう)。

//伝票テーブル
CREATE TABLE denpyos (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
denpyo_no VARCHAR(10) NULL,
shohin_sum INTEGER UNSIGNED NULL,
kingaku_sum INTEGER UNSIGNED NULL,
denpyo_date TIMESTAMP NULL,
PRIMARY KEY(id)
);

//伝票明細テーブル
CREATE TABLE denpyo_meisais (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
denpyo_no VARCHAR(10) NULL,
meisai_no INTEGER UNSIGNED NULL,
shohin_name VARCHAR(128) NULL,
suryo INTEGER UNSIGNED NULL,
kingaku INTEGER UNSIGNED NULL,
PRIMARY KEY(id)
);

※伝票テーブル:伝票明細テーブル=1:N

また、従来のシステムであれば伝票番号(denpyo_no)をPKにするところですが、Railsのために"id"という列を付けています。

今までの開発経験から、「伝票番号」というのは業務的なもののためが単純な通番になることがなかったので、別途、Rails用にPK列を作りました。

これにより、思わぬところに影響が出たのですが、それはまた別の機会に・・・
posted by 台北猫々 at 22:50| Comment(0) | TrackBack(0) | 技術メモ(Ruby)

BシェルでCSVファイルを処理しちゃいなよ


#!/bin/sh

OLDIFS=$IFS
IFS=,
while read ELE1 ELE2 ELE3
do
echo $ELE1
echo $ELE2
echo $ELE3
done < ./tmp.txt
IFS=$OLDIFS
exit


tmp.txtの内容は↓のようなCSV形式
a,b,c
d,e,f
posted by 台北猫々 at 21:51| Comment(0) | TrackBack(0) | 技術メモ(シェル)