テーブルの作成

広告
facebookボタン
googleplusボタン
twitterボタン
ダミーボタン
bloggerボタン

scaffoldジェネレータによって作成されたマイグレーション定義ファイルを使ってテーブルを作成します。マイグレーション定義ファイルは次の箇所に作成せれています。

db/migrate/20100509135043_create_infomations.rb

p4-1

このファイルをテキストエディタで開いてみます。

class CreateInfomations < ActiveRecord::Migration
  def self.up
    create_table :infomations do |t|
      t.integer :id
      t.string :name

      t.timestamps
    end
  end

  def self.down
    drop_table :infomations
  end
end

マイグレーション定義ファイルについてはまた別のページで詳しく記述方法などは確認しますが、データベースのテーブルを定義したりカラムを追加したりといったことをRailsの記述方法で記載することができます。対応しているデータベースであればデータベースの種類に関係無く共通して記述できるなどのメリットがあります。

マイグレーションを実行するにはコマンドプロンプトから次のように実行します。

rake db:migrate

p4-2

では実行します。

p4-3

上記のように表示されればマイグレーションは成功です。事前に「config¥database.yml」ファイルで設定したデータベースにテーブルが作成されます。

Windowsでエラーが表示される場合

WindowsでMySQLを利用している場合、次のようなエラーが出る場合があります。

(in D:/code/rails/customer)
rake aborted!
Mysql::Error: query: not connected: CREATE TABLE `schema_migrations` (`version`
varchar(255) NOT NULL) ENGINE=InnoDB

(See full trace by running task with --trace)

その場合、下記のURLなどからlibmySQL.dllをダウンロードして「(Rubyをインストールしたディレクトリ)¥bin」ディレクトリに入れて下さい。

http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll

私の場合はこれで解決しました。(参考にしたURL)。

( Written by T.buzz.Ikura+ )

Social Button
Facebook Page