Tambourine作業メモ

主にスキル習得のためにやった作業のメモ。他人には基本的に無用のものです。

テーブル定義の更新

H:\Rails\hondana>ruby script\generate migration AddImgToBook
      exists  db/migrate
      create  db/migrate/002_add_img_to_book.rb

migrateを編集。

class AddImgToBook < ActiveRecord::Migration
    @cls = [
      [:smallimage_url, :string],
      [:smallimage_height, :integer],
      [:smallimage_width, :integer],
      [:mediumimage_url, :string],
      [:mediumimage_height, :integer],
      [:mediumimage_width, :integer]
    ]

  def self.up
    @cls.each{|c| add_column :books, *c}
  end

  def self.down
    @cls.each{|c| remove_column :books, *c}
  end
end

ちゃんとdownも書きました。

DB2でテーブル定義を確認する方法は・・・マニュアルによると、describeというコマンドが使えるみたい。

db2 => describe table db2admin.books

                               タイプ・
列名                           スキーマ  タイプ名           長さ    位取り NULL
------------------------------ --------- ------------------ -------- ----- ------
ID                             SYSIBM    INTEGER                   4     0 いいえ
ISBN13                         SYSIBM    VARCHAR                 255     0 はい
STATUS                         SYSIBM    INTEGER                   4     0 はい
TITLE                          SYSIBM    VARCHAR                 255     0 はい
AUTHER                         SYSIBM    VARCHAR                 255     0 はい

  5 レコードが選択されました。

rakeする

H:\Rails\hondana>rake db:migrate
(in H:/Rails/hondana)
== AddImgToBook: migrating ====================================================
-- add_column(:books, :smallimage_url, :string)
   -> 1.0310s
-- add_column(:books, :smallimage_height, :integer)
   -> 0.0780s
-- add_column(:books, :smallimage_width, :integer)
   -> 0.0160s
-- add_column(:books, :mediumimage_url, :string)
   -> 0.0310s
-- add_column(:books, :mediumimage_height, :integer)
   -> 0.0000s
-- add_column(:books, :mediumimage_width, :integer)
   -> 0.0000s
== AddImgToBook: migrated (1.1560s) ===========================================

確認

db2 => describe table db2admin.books

                               タイプ・
列名                           スキーマ  タイプ名           長さ    位取り NULL
------------------------------ --------- ------------------ -------- ----- ------
ID                             SYSIBM    INTEGER                   4     0 いいえ
ISBN13                         SYSIBM    VARCHAR                 255     0 はい
STATUS                         SYSIBM    INTEGER                   4     0 はい
TITLE                          SYSIBM    VARCHAR                 255     0 はい
AUTHER                         SYSIBM    VARCHAR                 255     0 はい
SMALLIMAGE_URL                 SYSIBM    VARCHAR                 255     0 はい
SMALLIMAGE_HEIGHT              SYSIBM    INTEGER                   4     0 はい
SMALLIMAGE_WIDTH               SYSIBM    INTEGER                   4     0 はい
MEDIUMIMAGE_URL                SYSIBM    VARCHAR                 255     0 はい
MEDIUMIMAGE_HEIGHT             SYSIBM    INTEGER                   4     0 はい
MEDIUMIMAGE_WIDTH              SYSIBM    INTEGER                   4     0 はい

  11 レコードが選択されました。