2012年 7月 の投稿一覧

Padrinoで任意のrakeタスクを追加する

Padrinoでは、rakeタスクを実行したい場合、特にRakefileを配置しなくてもrakeコマンドを付与することで実行することができる。

$ padrino rake (実行したいrakeタスク)

rakeタスク自体は、Padrinoの場合、

  • ~/lib/tasks
  • ~/tasks
  • ~/test
  • ~/spec

に配置されれば、自動的に再起探索されて実行される。
また、Padrinoのプロジェクトで利用しているmongoid等で作られたmodelなどはそのまま使えるので例えば、

# ~/tasks/test.rake 
#encoding: utf-8
task :default => "test"
desc 'rakeタスクのテスト'
task :test do
oneuser = User.find(:first, :conditions=>{:user_id=>'123'})
p oneuser
end

とすれば、

$ padrino rake test
=> Executing Rake test ...
#<User _id: 500a5fbf7fae1d624f000001, _type: nil, created_at: 2012-07-21 07:52:31 UTC, updated_at: 2012-07-21 07:52:31 UTC, user_id: 123, name: "hideack">

といった具合に流用できる。

路地写真

今日じゃなくて先週だけど、新宿で撮影。
f:id:hideack:20120716181110j:plain

Ubuntu 11.10にMongov v2.0.6をインストール

諸般事情があって、mongoを新たにインストールすることに。
ほぼ、ここを参照した作業ですが、自分用のメモエントリとしてまとめておきます。
aptコマンドで最新版をインストールするために行った作業の手順。

sources.list編集

/etc/apt/sources.list を編集して、以下の一行を追加する。

deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen

既にインストールされているmongo dbがあったら一旦削除

$ dpkg -l | grep mongo
ii mongodb-clients 1:1.8.2-1ubuntu1 An object/document-oriented database (client apps)
ii mongodb-server 1:1.8.2-1ubuntu1 An object/document-oriented database (server package)

$ sudo apt-get remove mongodb-server
$ sudo apt-get remove mongodb-clients

gpg鍵の設定をしてインストール

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
$ sudo apt-get update
$ sudo apt-get install mongodb-10gen
(中略)
Unpacking mongodb-10gen (from .../mongodb-10gen_2.0.6_i386.deb) ...
Processing triggers for man-db ...
Processing triggers for ureadahead ...
Setting up mongodb-10gen (2.0.6) ...
Installing new version of config file /etc/init/mongodb.conf ...
Installing new version of config file /etc/mongodb.conf ...
mongodb start/running, process 4748

インストール完了。

$ mongod --version
db version v2.0.6, pdfile version 4.5
Mon Jul 16 16:50:50 git version: e1c0cbc25863f6356aa4e31375add7bb49fb05bc

上記の手順でインストールが完了してデーモンが常駐した状態になっている。
ちなみに開始・終了は、

$ sudo /etc/init.d/mongodb [start / stop]

メモ

それぞれのファイルの保管場所は

  • 設定ファイル
    • /etc/mongodb.conf
  • DBファイルの保管先
    • /var/lib/mongodb
  • ログの保管先
    • /var/log/mongodb/mongodb.log