我正在尝试在测试环境中运行RoR应用程序,但是我在测试数据库上的迁移存在问题。
我的database.yml
文件如下:
default: &default
adapter: postgresql
pool: 5
timeout: 5000
development:
<<: *default
database: questionnaires-development
test:
<<: *default
database: questionnaires-test
现在,我使用以下命令创建数据库:
sudo -u postgres createdb -O karol questionnaires-development
sudo -u postgres createdb -O karol questionnaires-test
接下来,我将对开发数据库进行迁移:
rails db:migrate
我可以很容易地看到它的工作原理:
== 20180719143415 CreateQuestions: migrating ==================================
-- create_table(:questions)
-> 0.0894s
== 20180719143415 CreateQuestions: migrated (0.0896s) =========================
== 20180722122658 CreateQuestionnaires: migrating =============================
-- create_table(:questionnaires)
-> 0.1050s
== 20180722122658 CreateQuestionnaires: migrated (0.1051s) ====================
Database migrated.
我还可以使用Postgres CLI列出我的表,一切都很好:
questionnaires-development=# \dt
List of relations
Schema | Name | Type | Owner
--------+----------------------+-------+-------
public | ar_internal_metadata | table | karol
public | questionnaires | table | karol
public | questions | table | karol
public | schema_migrations | table | karol
(4 rows)
但是现在我想对我的questionnaires-test
数据库执行相同的操作。所以我运行了该命令:
rails db:migrate RAILS_ENV=test
但是结果令人担忧:
Database migrated.
试图列出我的表,我的担心得到了证实:
questionnaires-test=# \dt
No relations found.
那么,我在做什么错了?