在rails schema.rb上创建新的数据库表ruby

时间:2015-07-08 11:04:47

标签: ruby-on-rails ruby postgresql

在我的ruby on rails app上,我在schema.rb文件中添加了以下代码,以便在数据库中创建一个新表

create_table "label_info", :force => true do |t|
    t.text     "body"
    t.string   "title"
    t.integer  "label_id"
  end

然后运行rake db:migrate命令但没有发生任何事情。我以为它会在数据库中创建一个新表。

3 个答案:

答案 0 :(得分:3)

如果您阅读schema.rb文件的第一行,您会看到:

# This file is auto-generated from the current state of the database. Instead
# of editing this file, please use the migrations feature of Active Record to
# incrementally modify your database, and then regenerate this schema definition.

我建议你做rails g model label_info

答案 1 :(得分:0)

可能会删除:force => true,因为您还没有创建表格,所以要先创建。

  

:force 设置为true以在创建表之前删除该表。默认为false。

答案 2 :(得分:0)

您必须销毁模型并重新创建它,否则您必须更改迁移编号并重命名文件,以获取较旧的模式版本。您可以使用当前时间戳。比如20150808114518_abc_xyz.rb

谢谢!