RSS
 

Archive for 9月, 2010

Catalyst Schemaの変更があったらどうするの?

26 9月

CatalystでSchemaの変更、
つまりテーブル追加、カラム追加、データ型変更、カラム削除などするときは
前回紹介したScaffoldコマンドを実行すればOK!

cf. CatalystにおけるScaffoldコマンド!

—————————————
% script/【myappname】_create.pl model DBIC DBIC::Schema 【Myappname】::Schema create=static dbi:mysql:【db_name】 【db_username】 【db_password】
—————————————

リレーション関係をhas_many/belongs_toを用いて記述したものは
消されることなく更新されます。

なおSchemaファイルを編集するときは、以下の記述の下に加えていけばOK

# Created by DBIx::Class::Schema::Loader v0.07002 @ 2010-09-26 20:45:05
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:rNPNDpABaarkYRdPQ3kTwA

万が一、上に書いてしまっても
以下のようにアラートが出て上書きされることはない。親切!!

Dumping manual schema for Blog::Schema to directory /*********/Blog/script/../lib …
DBIx::Class::Schema::Loader::make_schema_at(): Checksum mismatch in ‘/*********/Blog/script/../lib/Blog/Schema/Result/Article.pm’, the auto-generated part of the file has been modified outside of this loader. Aborting.
If you want to overwrite these modifications, set the ‘overwrite_modifications’ loader option.

上記の方法を使わずに以下のコマンドでSchemaを出力できる。
※個人的には、こっちを採用しております

—————————————
% perl -MDBIx::Class::Schema::Loader=make_schema_at,dump_to_dir:./lib -e ‘make_schema_at “【Myappname】::Schema”, {relationships => 1, debug => 1}, ["dbi:mysql:【db_name】","【db_username】","【db_password】"]‘
—————————————

この場合も同様に、指定箇所以外に記述すると以下のようにエラーとなる。

DBIx::Class::Schema::Loader::make_schema_at(): Checksum mismatch in ‘./Blog/Schema/Result/Article.pm’, the auto-generated part of the file has been modified outside of this loader. Aborting.
If you want to overwrite these modifications, set the ‘overwrite_modifications’ loader option.

最後に、後者を使う場合にはModelのScaffoldコマンドは以下のようになる。
—————————————
% script/【myappname】_create.pl model DBIC DBIC::Schema 【Myappname】::Schema
—————————————

注意点としては、
Modelの設定ファイル(lib/【Myappname】/Model/DBIC.pm)は手動で設定。

最低限としては、schema_class => ‘【Myappname】::Schema’,の下に以下を追加。

~~~~~~~~~~~~~~~~~~~~~~~~~
connect_info => {
dsn => ‘dbi:mysql:【db_name】’,
user => ‘【db_username】’,
password => ‘【db_password】’,
}

 
 

CatalystにおけるScaffoldコマンド!

26 9月

———————————————–
■最初に
% catalyst.pl Blog
———————————————–
Blog
├── Changes
├── Makefile.PL
├── README
├── blog.conf
├── lib
│   ├── Blog
│   │   ├── Controller
│   │   │   └── Root.pm
│   │   ├── Model
│   │   └── View
│   └── Blog.pm
├── root
│   ├── favicon.ico
│   └── static
│   └── images
│   ├── btn_120x50_built.png
│   ├── btn_120x50_built_shadow.png
│   ├── btn_120x50_powered.png
│   ├── btn_120x50_powered_shadow.png
│   ├── btn_88x31_built.png
│   ├── btn_88x31_built_shadow.png
│   ├── btn_88x31_powered.png
│   ├── btn_88x31_powered_shadow.png
│   └── catalyst_logo.png
├── script
│   ├── blog_cgi.pl
│   ├── blog_create.pl
│   ├── blog_fastcgi.pl
│   ├── blog_server.pl
│   └── blog_test.pl
└── t
├── 01app.t
├── 02pod.t
└── 03podcoverage.t
———————————————–
■View
% script/blog_create.pl view TT TT
———————————————–
Blog
├── lib
│   ├── Blog
│      └── View
│      └── TT.pm ★追加
└── t
└── view_TT.t ★追加

———————————————–
■Model
% script/blog_create.pl model DBIC DBIC::Schema Blog::Schema create=static dbi:mysql:blog 【username】 【password】
———————————————–
Blog
├── lib
│   ├── Blog
│      ├── Model
│      │   └── DBIC.pm ★追加
│      ├── Schema
│      │   └── Result
│      │   ├── Article.pm ★追加
│      │   └── Comment.pm ★追加
│      ├── Schema.pm ★追加
└── t
├── model_DBIC.t ★追加

———————————————–
■Controller
% script/blog_create.pl controller Admin
———————————————–
Blog
├── lib
│   ├── Blog
│   │   ├── Controller
│   │   │   ├── Admin.pm ★追加

 
 

セブンイレブンでクレジットカードが使える!

26 9月

セブンイレブンでクレジットカードが使えるようになってることに、
昨日気づきました!

先日紹介した楽天カード決済で1%還元です。
Suica(スイカ)が使えるようになれば、1.5%還元なのですが。。

cf. 楽天カード+ビックカメラSuicaカードがお得!

また、nanacoがあるのに、Edyと提携したのは意外でした!

▼関連サイト

* セブン-イレブン、クレジットカード決済を導入:MarkeZine(マーケジン)
http://markezine.jp/article/detail/10401

* ご利用可能なお支払方法|セブン-イレブン・ジャパン
http://www.sej.co.jp/services/cash.html