社会不適合破壊的お味噌マン

くまのプーさんのような大人になりたいです!

ActiveRecord (Migration)

Migration

Rakefile

Rakeコマンドの設定

require 'active_record'
require 'logger' #logger

namespace :db do
  MIGRATIONS_DIR = 'db/migrate' #refer to this folder

  #connect the database
  ActiveRecord::Base.establish_connection(
    :adapter => 'sqlite3',
    :database => 'database/blog.sqlite'
    )

  #outpt log
  ActiveRecord::Base.logger = Logger.new(STDOUT)

  #register migration
  desc "Migrate the database"
  task :migrate do
    ActiveRecord::Migrator.migrate(MIGRATIONS_DIR, ENV["VERSION"] ? ENV["VERSION"].to_i : nil)
  end

  #register rollback
  desc 'Roll back the database schema to the previous version'
  task :rollback do
    ActiveRecord::Migrator.rollback(MIGRATIONS_DIR, ENV['STEP'] ? env['STEP'].to_i : 1)
  end
end

0000_create_users.rb

class CreateUsers < ActiveRecord::Migration
    def self.up
        create_table :users do |t|
            t.string :name, null: false
            t.string :email, null: false
            t.string :password, null: false
            t.timestamps
        end
    end

    def self.down
        drop_table :users
    end
end