2011-12-10 41 views
1

使用Rails 3.1.1窗户railsinstaller耙分贝:迁移不工作,使我回到命令行轨3.1.1

>rake db:migrate 
暂停后

,让我马上回命令线。没有错误,没有消息,只是回到命令行。

我试图

>rake --trace db:migrate 

** Invoke db:migrate (first_time) 
** Invoke environment (first_time) 
** Execute environment 
** Invoke db:load_config (first_time) 
** Invoke rails_env (first_time) 
** Execute rails_env 
** Execute db:load_config 
** Execute db:migrate 
** Invoke db:schema:dump (first_time) 
** Invoke environment 
** Invoke db:load_config 
** Execute db:schema:dump 

看起来不像什么是错的,但显然事情是不工作的权利。

任何人都可以帮忙吗?

+2

这是我期望的输出,如果你运行数据库:迁移的情况下,没有任何新的迁移运行。事实上,我只是在当地的一个项目上尝试过,这是我得到的结果。你期望在这里看到什么? – muffinista

回答

2

如果没有要运行的迁移,将不会有输出。 --trace命令输出rake在迁移后准备,执行和清理的各个步骤。但是,当它看到没有要运行的迁移时,它实际上不会进行任何数据库更改。只有DB更改会导致额外的输出。

这与迁移的唯一区别是对数据库的更改将输出到命令行。没有改变=>没有输出。

+0

谢谢 - 出于某种原因,我认为我做了更改,但在添加其他资源后开始工作。如何获得手动编辑的迁移文件以更改数据库? – user1028324

+0

你必须确保它遵循适当的命名约定,就是这样:一个完整​​的时间戳值,后跟它的名字,并以'.rb'结尾。您还必须确保时间戳记值大于数据库中的当前时间戳记版本。它包含在这里的'时间戳迁移'部分:http://api.rubyonrails.org/classes/ActiveRecord/Migration.html简单地使用rails generator来自动创建一个迁移文件通常是最容易的,你会避免这些各种各样的问题。 – jefflunt

0

确保你在正确的文件夹中(也许在使用git的时候是正确的分支),并确保你已经创建了一个迁移文件。

rails generate migration MigrationName 

根据需要编辑生成的文件。