我愿意为我的应用程序创建一个新模型,即一个新表。我已经为我的应用程序存在一个表,我想创建一个新表。但是在执行以下用于创建新表的命令后运行rake db:migrate
命令时,我遇到了问题。
rails g model information age:string name:string
在运行rake db:migrate
命令时,系统显示以下错误消息:
不知道如何构建任务db:migrate
最终没有创建表格。我正在使用 Postgresql 。
迁移生成为:
class CreateInformation < ActiveRecord::Migration
def change
create_table :information do |t|
t.string :age
t.string :name
t.timestamps null: false
end
end
end
schema.rb
文件没有变化。
答案 0 :(得分:0)
要创建模型,您需要在model
之后编写rails g
。
确保您在rails app文件夹中。如果您有一个具有相同名称的现有表,您可能希望首先删除它。然后再次创建。
rails g model Information age name
#age and name will be string by default, so you can omit writing string
答案 1 :(得分:0)
我不认为您使用的命令与任何rails命令生成器匹配
rails g information age:string name:string
如果你要生成模型,它应该是
rails g model Information age:string name:string
rails g migration information age:string name:string
然后运行 rake db:migrate 以使其运行。
答案 2 :(得分:0)
你在运行rails5吗?你的错误是这样的:
不知道如何构建任务db:migrate
对于rails 5,没有rake任务(更改为rails)你应该
bin/rails db:migrate