2011-05-18 30 views
0

怎么办? 我想是这样的:Ruby,Rake,Mysql - 创建数据库

RAILS_ENV=production rake db:create db:load 

文件/lib/tasks/load_tasks.rake这个文件我在终端尝试作为rake db:migrate,但我得到有关语法等错误

我进入终端命令(我看到它在教程):

rails generate scaffold Account user_name:string description:text premium:boolean \ 
     income:integer ranking:float fee:decimal birthday:date login_time:time 

这让我的文件20110518181941_create_accounts.rb

我怎么可以在c reate数据库表 - 我认为上面的命令会在mysql中创建我的数据库...我现在有点困惑,该怎么办?

哪个规则在这里玩rake db:migrate

+0

是的,我得到错误: http://pastebin.com/xNFmvjZm 但我不知道,什么是错的...:/ – user1946705 2011-05-18 22:09:09

回答

2

我想是因为你的语法错误,你收到此错误,请把&&句子之间:

RAILS_ENV=production rake db:create && db:schema:load 

或做它分开线

RAILS_ENV=production rake db:create 
RAILS_ENV=production rake db:schema:load 

第一个命令将创建数据库,第二个命令会将db/schema.rb文件加载到数据库中

最后,您需要运行您的迁移:

RAILS_ENV=production rake db:migrate 

创建您的帐户表。

顺便说一句,如果你运行:

rake -T 

可以看到rake任务及其说明列表。

希望这会有所帮助。

+0

非常感谢您的回复JCorcuera。我试图在你的提示下编辑我的代码,但是我的语法错误 - http://pastebin.com/2gyd6NNH。箭头显示的地方,在哪里是问题 - 我从终端复制错误 – user1946705 2011-05-18 23:02:13

+0

我认为你在做db:load但是db:schema:load;并且commandi是rake -T不是-t – JCorcuera 2011-05-18 23:08:56

+0

@ user705586:你应该从shell命令行运行'RAILS_ENV = production rake db:create'和'RAILS_ENV = production rake db:schema:load',你的错误看起来像就像你在'.rake'文件中包含它们一样。 – 2011-05-18 23:44:51