Rails5终端基本命令

更新: 2017/06/10
更新: 2017/06/21 增加迁移文件查看履历命令: rails db:migrate:status
                          迁移文件生成
                          数据库初始化(seed, fixtures)
更新: 2017/06/25 增加清空日志 rails log:clear
更新: 2017/06/29 增加查看路径的网页版: http://localhost:3000/rails/info/routes
                          增加查看版本 rails about
                          生成空间内的视图控制器(与方法)
更新: 2017/09/02 增加命名空间下的控制器生成 rails generate controller 空间名::视图控制器名  方法名
更新: 2019/01/16  增加rails new的--api选项
 
 任务注释  
 格式  # TODO: ...
 # FIXME: ...
 # OPTIMIZE ...
 查看   rails notes
 个别查看  rails notes:todo
 rails notes:fixme
 rails notes:optimize
   
   
   
   
   
   
   
 新建项目

 rails new appName [option]
 注明使用的rails版本号
 rails new _4.2.0_ appName [option]
 P23

 

--api  项目设为api
   

 

 查看版本  rails about
 
 启动服务器  rails server
 rails s
 
 rails server [name] [option]
 name: HTTP服务器名
         thin,Unicorn等等非Puma的
 
 选项 Option  =可省略
 用=则左右不能有空格 
 使用的接口
 默认3000
 -p(=)
 -port(=)
 使用的IP
 默认0.0.0.0
 -b(=)
 --binding(=)
 守护模式  -d
 --daemon
 指定模式
 test, development, production
 默认development
 -e (=)
 --enviroment(=)
 PID文件
 默认tmp/pids/server.pid
 -P
 --pid(=)
 显示帮助信息   -h
 --help
   
   
   
   
   
   
   
   
   
   
   
   
 http://localhost:3000/  Puma服务器本地主机
 生成类  
 rails generate controller name [option]   生成空间内的视图控制器(与方法)
 rails generate controller 空间名::视图控制器名  方法名 
例 rails g controller nameSpace::samples t1 t2 t3  t4
 view的位置: views/模块名/类名/...
 rails g controller name [option]
 
 
 同时生成方法
 rails generate controller name 1 2 3 4 5[option] 
 
 同时生成方法
 rails g controller name 1 2 3 4 5[option]
 
 opt
 -r
 --ruby=
基础
ruby的二进制路径(pass)

c:\Ruby23-x64\bin\bury.exe 
 -d
 --database=DATABASE
基础
默认的数据库种类
默认sqlite3
(可选mysql,
       oracle,
       postgresql,
       sqlite3,
       frontbase,
       ibm_db,
       sqlsever等) 
 -m
 --template=TEMPLATE
基础
 模板的位置 
 命名空间下  rails generate controller 空间名::视图控制器名  方法名
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 生成方法  xxxx_controllers.rb里面定义方法(action, method)
 views里面新建嵌入式html文件
   
   
 删除类  rails destroy controller name
 rails d controller name
 模板变量  在模板(view)上可以参照的量,
 Ruby里对应实例变量(@sample)
 生成模型类  rails generate model name field:type [...] [options]
 P48
类型首字母不大写
 app

例子: 

rails g model questionnaire question:string veryAgree:boolean agree:boolean disagree:boolean veryDisagree:boolean

 生成迁移文件   和模型一起生成 rails generate model name field:type [...] [options]
 单独生成 rails generate migration name [field:type ...] [options]
 生成数据库  rails db:migrate
 db:migrate
 
 运行到指定的版本处(VERSION=...)
 不指定就是用最新版,把所有没迁移的全部迁移了
例: rails db:migrate VERSION=20161205000859
 db:rollback  回滚指定步
例: rails db:rollback STEP=5
 db:migrate:redo  回滚指定步并且重新迁移
例: rails db:migrate:redo STEP=5
 db:migrate:reset  先删除数据库,然后重新生成并且迁移最新版本
例: rails db:migrate:reset 
删除production环境下的数据库
DISABLE_DATABASE_ENVIRONMENT_CHECK=1
windows下删除development下数据貌似也要p312
 选项  
 RAILS_ENV  设置测试用数据库环境: production, development, test
 默认 RAILS_ENV=development
 VERBOSE  是否在命令行输出迁移的过程
 默认true
 VERBOSE=false
   
   
   
 生成并读取数据库   rails db:setup
 schema来构筑数据库  rails db:reset
schema文件位置  位置/app/db/schema.rb
 意义  自动获取最新的数据库表格信息
 和迁移文件一样可能会有无法展现的对象(object)
 放弃现在的数据库,
 用schema来构筑最新的数据库
 rails db:reset
windows环境下加DISABLE_DATABASE_ENVIROMENT=1

注意: 只是重构,测试数据要另外读取
 读取测试数据
 seed
初始数据来初始化(也可以用fixture)
 位置  db/seed.rb
 可能需要自己新建
 形式  ruby脚本
 内容  只需要写生成/保存数据的代码

 如Sample.new(...)
    
 运行  rails db:seed
 读取测试数据
 fixtures
 rails db:reset (DISABLE_DATABASE_ENVIROMENT_CHECK=1)
  测试数据来初始化(也可以用seed)
 位置  test/fixtures/
 表格名.rb
 形式  yaml脚本
 注: 缩进只能用手打两个空格
 内容  标签:
    域名: 数值
    ...
 
 外部键间接写法
 仅yml文件内可用
 模型名: 标签
 缩进  手打的2个空格
   
   
   
   
   
   
   
   
 运行  rails db:fixtures:load
 指定读取文件
 位置: /test/fixtures/...
 FIXTURES=sample1, samples2, ...
 默认: 读取全部
 指定测试环境  RAILS_ENV=prodution/test/development
 默认: development
 删除数据库  rails db:drop:all  (DISABLE_DATABASE_ENVIROMENT_CHECK=1)
 括号内内容是删除production模式的数据库
 windows下development模式好像也要
 表示现在有效的路径   rails routes
网页版: http://localhost:3000/rails/info/routes
 自动配置路径
 routes.rb
 resources: controller-name
 服务器客户端  
 启动  rails db
 或 rails dbconsole
 表格一览  .tables
 确认特定表格结构  .schema samples
 表格内容一览  SELECT * FROM samples;
 关闭客户端  .quit
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 rails命令行  命令行测试模块(model)
 启动  rails console opts
 指定运行环境  rails console test/development/production
 默认development
 不保留变更  -s
 --sandbox 
   
   
   
 新建  test = modelTest.new(hp: 1200, mp:9999, ad: 12345)
 保存  test.save
 获取最后一个数据  last = ModelTest.last
 退出命令行  quit
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 Scolffolding模式  rails generate scaffold name field:type [...] [option]
 name: 模块名,控件类名,视图名
 field:type  占域的数据名称:数据类型
 清空日志  rails log:clear 
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

 

posted @ 2017-05-25 00:42  懒虫哥哥  阅读(670)  评论(0编辑  收藏  举报