結構長くなるんで,ログの続きを分割.
##rake taskを見てみる
###ひとまず流す
- edge railsで見てみることに.
- とりあえずdiffをとっておく.
% rake -T > ../rake_tasks_2-0-2
% rake rails:freeze:edge
% rake -T > ../rake_tasks_edge
% diff ../rake_tasks_2-0-2 ../rake_taskes_edge
1c1
< (in /home/rust/program/ruby/gitexample3)
---
> (in /home/rust/program/ruby/gitexample)
11a12
> rake db:migrate:down # Runs the "down" for a given migratio...
13a15
> rake db:migrate:up # Runs the "up" for a given migration ...
33a36,39
> rake gems # List the gems that this rails applic...
> rake gems:build # Build any native extensions for unpa...
> rake gems:install # Installs all required gems for this ...
> rake gems:unpack # Unpacks the specified gem into vendo...
49c55
< rake test # Test all units and functionals
---
> rake test # Run all unit, functional and integra...
55a62,64
> rake time:zones:all # Displays names of all time zones rec...
> rake time:zones:local # Displays names of time zones recogni...
> rake time:zones:us # Displays names of US time zones reco...
- edge railsとは開発版らしい.
- [rake -D RAKE_TASK]でメッセージ全文表示できるそうな.
:rake db:migrate:[up|down|redo|restart]:データベースのマイグレーションを操作する |up|1つschema_versionを上げる| |down|1つschema_versionを下げる| |redo|最後のmigrationをrevertして再実行| |reset|create databaseからやり直す| :rake fixtures:identify:fixtureにある&$58;oneなどから固有のIDを取得する(らしい.まだ未調査) :rake db:rollback:migrationを一つ戻す :rake time::zone:local:ローカルの(で設定できる?)タイムゾーンを表示 :rake db:schema:dump:db/schema.rbにschemaをdumpする(そのまま) :rake db:test:clone[_structure]:いまのenvironmentのデータベースからテスト用のデータベースを構築[構造のみ] :rake db:test:purge:drop databaseを実行 :rake db:test:truncateする :rake db:version:最新のmigration versionを表示する :rake notes[:todo|:fixme|:optimize]:ソースコード中に記載されたコメントを表示する[#TODO comments….|#FIXME comments….|#OPTIMIZE comments….]
- コメント自身はSourceAnnotationExtractor.enumerate(“XXXX”)で拾っている.
###migration周りの変更点まとめ
- migrationのversion管理が,番号からタイムスタンプになってた.
- 20080414124549_XXXXXXXXXX.rb
- ただし旧記法(001_XXXXXXXXX.rb)と共存は可能.
- ソート順では001, 002の方が先に来る
- タイムスタンプになってるので開発環境のタイムゾーンに注意が必要になるかも.
###rake gems関連
- 準備
- config/environment.rbのconfig.gemsに必要なgemを記述する.
config.gems = [
Ruby::GemDependency.new 'uuidtools'
]
:rake gems:install:上記configで指定したgemをシステムにインストールする :rake gems:unpack:インストールされているgemをvender配下にコピーする.環境をひとまとめにできる.deploy時にも便利そう.
- denendencyを簡単に書けるようにして欲しいよねー的な
- この機能によってgemのdeployができるようになると便利そう.
##その他
- データベースをfixtureにするpluginがあるらしい.
- initializersに書くかenvironment.rbに書くか,どちらが良いんだろうか.
- rak ‘words’でいい具合にgrep検索できるようだ.結構便利.
- config.plugins=[]でpluginの指定やload順序を指定可能らしい.
##まとめ ためになりました.もっといろいろ勉強しないといけないなぁと,さらに思いました.できれば発表などできるようになりたいな.
comments powered by Disqus