目次

データベース管理

開発用データベースの作成

※以下のエラーがでる場合、database.ymlの「host: localhost」を「host: 127.0.0.1」に変更。mysql用ドライバのバグらしい。

Couldn't create database for {"reconnect"=>false, "encoding"=>"utf8", "username"
=>"testuser", "adapter"=>"mysql", "database"=>"depot_development", "host"=>"loca
lhost", "pool"=>5, "password"=>"testpassword"}, charset: utf8, collation: utf8_u
nicode_ci (if you set the charset manually, make sure you have a matching collat
ion)

テスト用データベースの作成

rake db:create RAILS_ENV='test'

テーブル管理

migrationとは

migrationファイルを作る

単独のmigrationファイルを作る

ruby script/generate migration create_tables

db/migrate/XXXXXXXXXXXXXXXX_create_tables.rbというファイルができているのでその中身を編集する。

※ただしmodelやscaffoldと同時にmigrationファイルを作るのが普通らしい。

migrationを最初からやりなおす

カラムの操作

カラムの型を変更する

db/migrate以下にできたひな形ファイルを編集する。

class ChangeImageColumn < ActiveRecord::Migration
  def self.up
    change_column :products, :icon, :string
  end

  def self.down
    change_column :products, :icon, :binary
  end
end

データ管理

マスターデータの管理

トラブルシューティング

Windowsで rake db:migrate がとてつもなく遅い

10分ぐらいかかる。原因不明。変なログファイルでもはき出しているのかと色々調べてみたがその形跡はなし。

Mysql::Error: query: not connected: CREATE TABLE `schema_migrations`


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS