Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
619453d5
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,体验更适合开发者的 AI 搜索 >>
提交
619453d5
编写于
6月 17, 2012
作者:
P
Pat Allan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
A beginning of sorts.
Minimal implementation that supports db:create SQLite replacement
上级
08477a65
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
74 addition
and
12 deletion
+74
-12
activerecord/lib/active_record.rb
activerecord/lib/active_record.rb
+6
-0
activerecord/lib/active_record/railties/databases.rake
activerecord/lib/active_record/railties/databases.rake
+1
-12
activerecord/lib/active_record/tasks/database_tasks.rb
activerecord/lib/active_record/tasks/database_tasks.rb
+14
-0
activerecord/test/cases/sqlite_rake_test.rb
activerecord/test/cases/sqlite_rake_test.rb
+53
-0
未找到文件。
activerecord/lib/active_record.rb
浏览文件 @
619453d5
...
...
@@ -137,6 +137,12 @@ module Scoping
end
end
module
Tasks
extend
ActiveSupport
::
Autoload
autoload
:DatabaseTasks
end
autoload
:TestCase
autoload
:TestFixtures
,
'active_record/fixtures'
end
...
...
activerecord/lib/active_record/railties/databases.rake
浏览文件 @
619453d5
...
...
@@ -50,18 +50,7 @@ db_namespace = namespace :db do
def
create_database
(
config
)
begin
if
config
[
'adapter'
]
=~
/sqlite/
if
File
.
exist?
(
config
[
'database'
])
$stderr
.
puts
"
#{
config
[
'database'
]
}
already exists"
else
begin
# Create the SQLite database
ActiveRecord
::
Base
.
establish_connection
(
config
)
ActiveRecord
::
Base
.
connection
rescue
Exception
=>
e
$stderr
.
puts
e
,
*
(
e
.
backtrace
)
$stderr
.
puts
"Couldn't create database for
#{
config
.
inspect
}
"
end
end
ActiveRecord
::
Tasks
::
DatabaseTasks
.
create
config
return
# Skip the else clause of begin/rescue
else
ActiveRecord
::
Base
.
establish_connection
(
config
)
...
...
activerecord/lib/active_record/tasks/database_tasks.rb
0 → 100644
浏览文件 @
619453d5
class
ActiveRecord::Tasks::DatabaseTasks
def
self
.
create
(
configuration
)
if
File
.
exist?
(
configuration
[
'database'
])
$stderr
.
puts
"
#{
configuration
[
'database'
]
}
already exists"
return
end
ActiveRecord
::
Base
.
establish_connection
(
configuration
)
ActiveRecord
::
Base
.
connection
rescue
Exception
=>
e
$stderr
.
puts
e
,
*
(
e
.
backtrace
)
$stderr
.
puts
"Couldn't create database for
#{
configuration
.
inspect
}
"
end
end
activerecord/test/cases/sqlite_rake_test.rb
0 → 100644
浏览文件 @
619453d5
require
'cases/helper'
module
ActiveRecord
class
SqliteRakeTest
<
ActiveRecord
::
TestCase
def
setup
@database
=
"db_create.sqlite3"
@connection
=
stub
:connection
@configuration
=
{
'adapter'
=>
'sqlite3'
,
'database'
=>
@database
}
File
.
stubs
(
:exist?
).
returns
(
false
)
ActiveRecord
::
Base
.
stubs
(
:connection
).
returns
(
@connection
)
ActiveRecord
::
Base
.
stubs
(
:establish_connection
).
returns
(
true
)
end
def
test_db_checks_database_exists
File
.
expects
(
:exist?
).
with
(
@database
).
returns
(
false
)
ActiveRecord
::
Tasks
::
DatabaseTasks
.
create
@configuration
end
def
test_db_create_when_file_exists
File
.
stubs
(
:exist?
).
returns
(
true
)
$stderr
.
expects
(
:puts
).
with
(
"
#{
@database
}
already exists"
)
ActiveRecord
::
Tasks
::
DatabaseTasks
.
create
@configuration
end
def
test_db_create_establishes_a_connection
ActiveRecord
::
Base
.
expects
(
:establish_connection
).
with
(
@configuration
)
ActiveRecord
::
Tasks
::
DatabaseTasks
.
create
@configuration
end
def
test_db_create_returns_the_connection
assert_equal
ActiveRecord
::
Tasks
::
DatabaseTasks
.
create
(
@configuration
),
@connection
end
def
test_db_create_with_error_prints_message
ActiveRecord
::
Base
.
stubs
(
:establish_connection
).
raises
(
Exception
)
$stderr
.
stubs
(
:puts
).
returns
(
true
)
$stderr
.
expects
(
:puts
).
with
(
"Couldn't create database for
#{
@configuration
.
inspect
}
"
)
ActiveRecord
::
Tasks
::
DatabaseTasks
.
create
(
@configuration
)
end
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录