我有一个Ruby on Rails应用程序,我想在Heroku上部署它。出现一些错误,我认为这是因为脚手架顺序。
由此,我的意思是首先创建一个名为submissions的类,但是这个类引用了另一个名为Users的类,该类尚未创建。
这是执行rake db:migrate http://pastebin.com/R83a3rsN
时出现的错误这些是迁移文件及其文件名
我想你的意思是:
20160503205437_create_submissions 的和
http://pastebin.com/q2jABiep表示20160428101834_create_users
答案 0 :(得分:2)
您的db / migrate文件夹中有一个名为...
的成员 20160503205437_create_submissions.db
将其重命名为
/**
* QUICKFIX
*/
angular
.module('helloTesterApp', ['helloService'])
.controller('HelloController', HelloController);
HelloController.$inject = ['HelloService', '$scope'];
function HelloController(HelloService, $scope) {
... // insert controller's code here
}
将其移至迁移列表的底部,并且它将在最后执行。
答案 1 :(得分:0)
这似乎不像支架错误本身。相反,它是迁移的问题(支架恰好生成)。
为了解决这个问题,我可能只是进行一次新的迁移,其中包括您的应用程序此时所需的所有列。然后编辑create_table块的顺序以解决您的错误。
然后您就可以删除其他迁移文件并运行dB:create或reset。
答案 2 :(得分:0)
这是迁移中的交叉依赖性问题。在这种情况下,Users
表期望Users
表已存在,以便为其声明外键。
考虑在迁移中声明Submissions
表上方的with open(current_class, 'r') as f:
studentList = [float(line) for line in f.readlines()]
for score in reversed(sorted(studentList)):
print(score)
表。