Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
969a0778
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,发现更多精彩内容 >>
提交
969a0778
编写于
12月 30, 2013
作者:
R
Rafael Mendonça França
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #13541 from schneems/schneems/db-url-sub-key
Allow "url" sub key in database.yml configuration
上级
16e93561
5b96027e
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
32 addition
and
0 deletion
+32
-0
activerecord/CHANGELOG.md
activerecord/CHANGELOG.md
+6
-0
activerecord/lib/active_record/connection_adapters/connection_specification.rb
...ve_record/connection_adapters/connection_specification.rb
+8
-0
activerecord/test/cases/connection_specification/resolver_test.rb
...cord/test/cases/connection_specification/resolver_test.rb
+18
-0
未找到文件。
activerecord/CHANGELOG.md
浏览文件 @
969a0778
*
Connection specification now accepts a "url" key. The value of this
key is expected to contain a database URL. The database URL will be
expanded into a hash and merged.
*Richard Schneeman*
*
An
`ArgumentError`
is now raised on a call to
`Relation#where.not(nil)`
.
Example:
...
...
activerecord/lib/active_record/connection_adapters/connection_specification.rb
浏览文件 @
969a0778
...
...
@@ -223,7 +223,15 @@ def resolve_env_connection(spec)
end
end
# Accepts a hash. Expands the "url" key that contains a
# URL database connection to a full connection
# hash and merges with the rest of the hash.
# Connection details inside of the "url" key win any merge conflicts
def
resolve_hash_connection
(
spec
)
if
url
=
spec
.
delete
(
"url"
)
connection_hash
=
resolve_string_connection
(
url
)
spec
.
merge!
(
connection_hash
)
end
spec
end
...
...
activerecord/test/cases/connection_specification/resolver_test.rb
浏览文件 @
969a0778
...
...
@@ -31,6 +31,24 @@ def test_url_from_environment
"encoding"
=>
"utf8"
},
spec
)
end
def
test_url_sub_key
spec
=
resolve
:production
,
'production'
=>
{
"url"
=>
'abstract://foo?encoding=utf8'
}
assert_equal
({
"adapter"
=>
"abstract"
,
"host"
=>
"foo"
,
"encoding"
=>
"utf8"
},
spec
)
end
def
test_url_sub_key_merges_correctly
hash
=
{
"url"
=>
'abstract://foo?encoding=utf8&'
,
"adapter"
=>
"sqlite3"
,
"host"
=>
"bar"
,
"pool"
=>
"3"
}
spec
=
resolve
:production
,
'production'
=>
hash
assert_equal
({
"adapter"
=>
"abstract"
,
"host"
=>
"foo"
,
"encoding"
=>
"utf8"
,
"pool"
=>
"3"
},
spec
)
end
def
test_url_host_no_db
spec
=
resolve
'abstract://foo?encoding=utf8'
assert_equal
({
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录