はじめまして。新人エンジニアのtnです。
私のブログではRuby on Railsのプラグインの紹介及び導入のガイドをします。
というわけで、第一回はColumnCommentsを紹介します。
http://blog.inquirylabs.com/2006/04/27/columncomments-rails-plugin/
マイグレーション・ファイルにDBテーブル上の各カラムのCOMMENTを書けるようにしてくれます(MySQLのみ対応)。
rails1.2.x系では、ColumnComments1.3をダウンロードしてください。
ダウンロードしたzipは解凍し、出来たフォルダをvendor/plugin配下におきます。
テーブルを新規作成をする場合は、マイグレーションファイルに
def self.up
create_table "users" do |t|
t.column :name,:string,:null => false,:comment => "This column is the user's name"
t.column :email,:string,:null => false,:comment => "This column is the user's e-mail address"
end
end
| Table | Create Table
| users | CREATE TABLE `users` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(255) NOT NULL COMMENT 'This column is the user''s name',
`email` varchar(255) default NULL COMMENT 'This column is the user''s e-mail address',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
def self.up
/div column_comment "users","name","This column is the user's name"
end
def self.up
column_comments({ :users => {:name => "This column is user's name",:email => "This column is user's e-mail address"}, :items => {:price => "This column is item's price"}})
end
また、このプラグインにはAnnotateModelsというプラグインも収録されており、
rake annotate_models
# Schema as of Tue Dec 25 20:37:51 +0900 2007 (schema version 1)
#
# id integer(11) not null
# name string(255) default(), not null
# This column is the user's name
#
# email string(255)
# This column is the user's e-mail address
#
#
class User < ActiveRecord::Base
end
これらのプラグインはMySQLのみ対応ですが、PostgreSQLを使った環境にてAnnotateModelsを使うと、コメント以外のカラム情報のみモデルのファイルに記述してくれます。