Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
b9ad3078
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,发现更多精彩内容 >>
提交
b9ad3078
编写于
8月 04, 2019
作者:
E
Eileen M. Uchitelle
提交者:
eileencodes
8月 04, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Merge pull request #36845 from eileencodes/fix-pg-closed-connection
Fix `PG::ConnectionBad` error when running fixtures
上级
8354eafc
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
11 addition
and
6 deletion
+11
-6
activerecord/lib/active_record/fixtures.rb
activerecord/lib/active_record/fixtures.rb
+11
-6
未找到文件。
activerecord/lib/active_record/fixtures.rb
浏览文件 @
b9ad3078
...
...
@@ -531,15 +531,15 @@ def instantiate_all_loaded_fixtures(object, load_instances = true)
end
end
def
create_fixtures
(
fixtures_directory
,
fixture_set_names
,
class_names
=
{},
config
=
ActiveRecord
::
Base
)
def
create_fixtures
(
fixtures_directory
,
fixture_set_names
,
class_names
=
{},
config
=
ActiveRecord
::
Base
,
&
block
)
fixture_set_names
=
Array
(
fixture_set_names
).
map
(
&
:to_s
)
class_names
=
ClassCache
.
new
class_names
,
config
# FIXME: Apparently JK uses this.
connection
=
block_given?
?
yield
:
ActiveRecord
::
Base
.
connection
connection
=
block_given?
?
block
:
lambda
{
ActiveRecord
::
Base
.
connection
}
fixture_files_to_read
=
fixture_set_names
.
reject
do
|
fs_name
|
fixture_is_cached?
(
connection
,
fs_name
)
fixture_is_cached?
(
connection
.
call
,
fs_name
)
end
if
fixture_files_to_read
.
any?
...
...
@@ -549,9 +549,9 @@ def create_fixtures(fixtures_directory, fixture_set_names, class_names = {}, con
class_names
,
connection
,
)
cache_fixtures
(
connection
,
fixtures_map
)
cache_fixtures
(
connection
.
call
,
fixtures_map
)
end
cached_fixtures
(
connection
,
fixture_set_names
)
cached_fixtures
(
connection
.
call
,
fixture_set_names
)
end
# Returns a consistent, platform-independent identifier for +label+.
...
...
@@ -591,7 +591,11 @@ def read_and_insert(fixtures_directory, fixture_files, class_names, connection)
def
insert
(
fixture_sets
,
connection
)
# :nodoc:
fixture_sets_by_connection
=
fixture_sets
.
group_by
do
|
fixture_set
|
fixture_set
.
model_class
&
.
connection
||
connection
if
fixture_set
.
model_class
fixture_set
.
model_class
.
connection
else
connection
.
call
end
end
fixture_sets_by_connection
.
each
do
|
conn
,
set
|
...
...
@@ -602,6 +606,7 @@ def insert(fixture_sets, connection) # :nodoc:
table_rows_for_connection
[
table
].
unshift
(
*
rows
)
end
end
conn
.
insert_fixtures_set
(
table_rows_for_connection
,
table_rows_for_connection
.
keys
)
# Cap primary key sequences to max(pk).
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录