创建数据库
1、
rails db:setup
如果数据库不存在,则创建数据库,并执行种子数据。
2、rails db:reset
重置数据库(会drop掉之前的数据库)
运行迁移(版本)
运行一个指定文件的迁移
rails db:migrate:up VERSION=20180711123637
PS: 在migrate 后接 up
/down
运行迁移到指定版本
rails db:migrate VERSION=20180710234931
1、指定版本 > 当前版本,则运行到指定版本(包含)
2、指定版本 < 当前版本,则运行到指定版本(不包含)
数据库模式
有两种:
1、schema.rb模式(默认)
2、sql模式运行(rails db:structure:dump
生成)
PS: 可以直接拿这里生成的sql 语句去创建数据库信息。
迁移定制输出(打印信息)
用say 'hello dmy'
表示
迁移也可用来修改、创建、删除数据
class CreateOrDeleteOrEditDataByMigration < ActiveRecord::Migration[5.1]
def change
# 迁移中 创建 修改 删除数据
10.times do |i|
Balance.create(:income => rand(1000), :expense => rand(1000),:account_id => rand(10))
end
end
end
一个gem
annotate
它可以为model提供,model表的数据schema信息的注释。
迁移回滚并执行
rails db:migrate:redo
回滚一步并执行
rails db:migrate:redo STEP=3
回滚三步并执行