欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[RoR] Rails unittest一个小bug 博客分类: Ruby RailsMySQLPostgreSQLRuby单元测试 

程序员文章站 2024-02-16 08:00:52
...
之前为了省事,数据库配置如下:

<!---->development_pgsql:
  adapter
: postgresql
  database
: myproject_development
  username
: postgres
  password
: 

development_mysql
:
  adapter
: mysql
  database
: myproject_development
  username
: root
  password
: 

development
:
  development_mysql

test
:
  adapter
: postgresql
  database
: myproject_test
  username
: postgres
  password
: 

production
:
  development

正常运行没什么问题。后来发现在运行rake test作单元测试时会报错,把拷贝过来就没有问题。不过rubyonrails.com上不允许匿名提交bug,还真麻烦。

另外发现config.active_record.schema_format = :ruby配置下,postgresql的timestamp字段默认值current_timestamp不能正确复制到数据库。经检查它是使用db:schema:dump复制下数据库模式,再使用db:schema:load生成测试数据库模式的,这个模块为了各数据库统一,会去掉那些不一致的默认值。解决办法是设置config.active_record.schema_format = :sql。