`

Rails常用命令整理

阅读更多
------
GEM:
gem install rails --include-dependencies
gem install rails -v=2.0.2
自动安装rails

------

1.1 创建Rails应用程序
$ rails [_VERSION_] app_name
可选项:
VERSION: 指定rails的版本(如果安装了多个rails版本),VERSION前后各加一下划线, 如"_1.2.6_"
-d, database=xxx 指定安装一个数据库(mysql oracle postgresql sqlite2 sqlite3 ), 默认情况下是数据库
-r, ruby-path= 指定Ruby的安装路径,如果没有指定,scripts使用env去找Ruby
-f, freeze (冻结)freezes Rails在vendor/rails目录

1.2 API Documentation
$ gem_server
启动一个WEBrick服务器。这时候你可以通过Http://localhost:8808/ 打开浏览器去查看rails API文档

1.3 Rake
rake db:fixtures:load
# 载入fixtures到当前环境的数据库
# 载入指定的fixtures使用FIXTURES=x,y

rake db:migrate
# 迁移数据库通过在db/migrate目录下的脚本.可以指定版本号通过VERSION=x
-------
db:charset 检索当前环境下数据库的字符设置
db:collation 检索当前环境下数据库的校对
db:create 用config\database.yml中的定义创建当前 RAILS_ENV 项目环境下的数据库
db:create:all 用config\database.yml中的定义创建所有数据库
db:drop 删除当前 RAILS_ENV项目环境中的数据库
db:drop:all 删除所有在 config\database.yml中定义的数据库
db:reset 从db\schema.rb中为当前环境重建数据库(先删后建).
db:rollback 回滚(清华出版社一本SQLSERVER书的名词[很奇怪为什么不直接用滚回])数据库到前一个版本. 指定回滚到哪一步要用 STEP=n 参数
db:version 检索当前模式下的版本
-------

rake db:schema:dump
# 创建一个db/schema.rb文件,通过AR能过够支持任何数据库去使用

rake db:schema:load
# 再入一个schema.rb文件进数据库

rake db:sessions:clear
# 清空sessions表

rake db:sessions:create
# 用CGI::Session::ActiveRecordStore创建一个sessions表为用户

rake db:structure:dump
# 导出数据库结构为一个SQL文件

rake db:test:clone
# 重新创建一个测试数据库从当前环境数据库中

rake db:test:clone_structure
# 重新创建测试数据库从开发模式数据库

rake db:test:prepare
# 准备测试数据库并载入schema

rake db:test:purge
# 清空测试数据库

rake doc:app
# 创建HTML文件的API Documentation

rake doc:clobber_app
# 删除Documentation

rake doc:clobber_plugins
# 删除 plugin Documentation

rake doc:clobber_rails
# 删除Documentation

rake doc:plugins
# 产生Documation为所有安装的plugins

rake doc:rails
# 创建HTML文件的API Documentation

rake doc:reapp
# 强制重新创建HTML文件的API Documentation

rake doc:rerails
# 强制重新创建HTML文件的API Documentation

rake log:clear
# 清空目录log/下的所有日志文件

rake rails:freeze:edge
# Lock this application to latest Edge Rails. Lock a specific revision with REVISION=X

rake rails:freeze:gems
# Lock this application to the current gems (by unpacking them into vendor/rails)

rake rails:unfreeze
# Unlock this application from freeze of gems or edge and return to a fluid use of system gems

rake rails:update
# Update both scripts and public/javascripts from Rails

rake rails:update:javascripts
# Update your javascripts from your current rails install

rake rails:update:scripts
# Add new scripts to the application script/ directory

rake stats
# Report code statistics (KLOCs, etc) from the application

rake test
# Test all units and functionals

rake test:functionals
# Run tests for functionalsdb:test:prepare

rake test:integration
# Run tests for integrationdb:test:prepare

rake test:plugins
# Run tests for pluginsenvironment

rake test:recent
# Run tests for recentdb:test:prepare

rake test:uncommitted
# Run tests for uncommitteddb:test:prepare

rake test:units
# Run tests for unitsdb:test:prepare

rake tmp:cache:clear
# 清空tmp/cache目录下的所有文件

rake tmp:clear
# 清空session, cache, 和socket文件从tmp/目录

rake tmp:create
# 为sessions, cache, and sockets创建tmp/目录

rake tmp:sessions:clear
# 清空所有在tmp/sessions目录下的文件

rake tmp:sockets:clear
# 清空所有在tmp/sessions 目录下的ruby_sess.* 文件

rails 2.0新增的Rake Tasks
rake routes:打印当前路由列表;

rake db:drop, rake db:drop:all, 删除当前环境或config/database.yml中的所有数据库;

rake db:create, rake db:create:all,创建当前环境数据库或或config/database.yml中的所有数据库;

rake db:version,显示当前环境数据库的schema版本号;

rake db:reset, 删除并重新创建当前环境的数据库。

1.4 Scripts
script/about
# 输出当前环境信息

script/breakpointer
# 启动断点server

script/console
# 启动交换式的Rails控制台

script/destroy
# 删除通过generators创建的文件

script/generate
# -> generators

script/plugin
# -> Plugins

script/runner
# 执行一个任务在rails上下文中

script/server
# 启动开发模式服务器http://localhost:3000


//以下几个不知道怎么去使用
script/performance/profiler
script/performance/benchmarker
script/process/reaper
script/process/spawner

1.5 Generators

ruby script/generate model ModelName

ruby script/generate controller ListController show edit

ruby script/generate scaffold ModelName ControllerName

ruby script/generate migration AddNewTable

ruby script/generate plugin PluginName

ruby script/generate mailer Notification lost_password signup

ruby script/generate web_service ServiceName api_one api_two

ruby script/generate integration_test TestName

ruby script/generate session_migration

可选项:
-p, --pretend Run but do not make any changes.
-f, --force Overwrite files that already exist.
-s, --skip Skip files that already exist.
-q, --quiet Suppress normal output.
-t, --backtrace Debugging: show backtrace on errors.
-h, --help Show this help message.
-c, --svn Modify files with subversion. (Note: svn must be in path)
---------
ruby script/generate scaffold helloworld
生成某个Model的CRUD操作的应用框架

ruby script/destroy scaffold helloworld
删除某个Model的CRUD操作的应用框架



1.6 Plugins

script/plugin discover
# discover plugin repositories

script/plugin list
# list all available plugins

script/plugin install where
# install the a



source: http://wangsheng2008love.blog.163.com/blog/static/782016892009118111659719/
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics