" rails生成模型"挂起

时间:2014-07-08 01:56:10

标签: ruby-on-rails ruby

我是ROR的新手。

删除rails App后如何使用相同的App名称?

以下是我执行的操作。第6步是我的问题。

1 - 环境

 - OS : Ubuntu 12.04.4
 - ruby : 2.1.1p76
 - rails : 4.1.2
 - DB : SQLite

2 - 创建rails App:

rails new myApp
=> OK

3 - 创建模型:

 rails generate model mytable name:string
=> OK.

4 - 删除rails App:

 rm -rf myApp
=> OK

5 - 重新创建rails App:

 rails new myApp
 => OK

6 - 重新创建模型:

 rails generate model mytable name:string
=> Not OK! waiting for infinite time

4 个答案:

答案 0 :(得分:19)

只是预感,但无论如何,你还在机器的某个地方运行服务器进程吗?这可能是一个阻止新表被构建的锁。

答案 1 :(得分:2)

按照以下步骤

1 - 创建rails App:

 rails new myApp

2 - 创建模型:

 rails generate model mytable name:string

3 - 删除数据库:

 rake db:drop

4 - 删除rails App:

 rm -rf myApp

5 - 重新创建rails App:

 rails new myApp

6 - 重新创建数据库

 rake db:create

7 - 重新创建模型:

 rails generate model mytable name:string

答案 2 :(得分:0)

我认为从您第一次创建数据库时,您的数据库仍然具有与您的模型对应的表。您使用的是什么数据库系统?执行rm -rf通常不会影响数据库,因为数据位于Rails应用程序目录之外。您可能需要使用

重置数据库
$ rake db:reset

这将删除您第一次创建模型时遗留的表格。

注意:如果您使用SQLite作为数据库,这可能会指出另一个问题。

答案 3 :(得分:0)

不要杀死spring,只需使用内置的spring stop