Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
4a071036
R
rails
项目概览
张重言
/
rails
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rails
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4a071036
编写于
5月 04, 2008
作者:
S
Steve Purcell
提交者:
Jeremy Kemper
5月 07, 2008
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add 'script/dbconsole' -- the database analog of 'script/console'
上级
0a21193d
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
52 addition
and
0 deletion
+52
-0
railties/bin/dbconsole
railties/bin/dbconsole
+3
-0
railties/lib/commands/dbconsole.rb
railties/lib/commands/dbconsole.rb
+49
-0
未找到文件。
railties/bin/dbconsole
0 → 100755
浏览文件 @
4a071036
#!/usr/bin/env ruby
require
File
.
dirname
(
__FILE__
)
+
'/../config/boot'
require
'commands/dbconsole'
railties/lib/commands/dbconsole.rb
0 → 100644
浏览文件 @
4a071036
require
'optparse'
OptionParser
.
new
do
|
opt
|
opt
.
banner
=
"Usage: dbconsole [environment]"
opt
.
parse!
(
ARGV
)
abort
opt
.
to_s
unless
(
0
..
1
).
include?
(
ARGV
.
size
)
end
env
=
ENV
[
'RAILS_ENV'
]
=
ARGV
.
first
||
ENV
[
'RAILS_ENV'
]
||
'development'
def
find_cmd
(
*
commands
)
dirs_on_path
=
ENV
[
'PATH'
].
split
(
File
::
PATH_SEPARATOR
)
commands
+=
commands
.
map
{
|
cmd
|
"
#{
cmd
}
.exe"
}
if
RUBY_PLATFORM
=~
/win32/
commands
.
detect
do
|
cmd
|
dirs_on_path
.
detect
do
|
path
|
File
.
executable?
File
.
join
(
path
,
cmd
)
end
end
||
abort
(
"couldn't find matching executable:
#{
commands
.
join
(
', '
)
}
"
)
end
require
'yaml'
config
=
YAML
::
load
(
File
.
read
(
RAILS_ROOT
+
"/config/database.yml"
))[
env
]
unless
config
abort
"No database is configured for the environment '
#{
env
}
'"
end
case
config
[
"adapter"
]
when
"mysql"
exec
(
find_cmd
(
*
%w(mysql5 mysql)
),
*
({
'host'
=>
'--host'
,
'port'
=>
'--port'
,
'socket'
=>
'--socket'
,
'username'
=>
'--user'
,
'password'
=>
'--password'
,
'encoding'
=>
'--default-character-set'
}.
map
{
|
opt
,
arg
|
"
#{
arg
}
=
#{
config
[
opt
]
}
"
if
config
[
opt
]
}.
compact
+
[
config
[
'database'
]]))
when
"postgresql"
ENV
[
'PGHOST'
]
=
config
[
"host"
]
if
config
[
"host"
]
ENV
[
'PGPORT'
]
=
config
[
"port"
].
to_s
if
config
[
"port"
]
ENV
[
'PGPASSWORD'
]
=
config
[
"password"
].
to_s
if
config
[
"password"
]
exec
(
find_cmd
(
'psql'
),
'-U'
,
config
[
"username"
],
config
[
"database"
])
when
"sqlite"
exec
(
find_cmd
(
'sqlite'
),
config
[
"database"
])
when
"sqlite3"
exec
(
find_cmd
(
'sqlite3'
),
config
[
"database"
])
else
abort
"not supported for this database type"
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录