Rails迁移,用于将字符串更改为整数

蒙亨

我有一个称为“线”的嵌套模型。它去了:

用户有很多制造商有很多生产线。

我将生产线嵌套在制造商中。问题是,我是一个虚拟人,在db / schema中将Lines的Manufacturer_id命名为STRING数据类型,而不是INTEGER。我简直不敢相信。我需要怎么做才能将其更改为整数?我不知道是否需要放桌子等吗?有人请帮忙...

# encoding: UTF-8
# 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.
#
# Note that this schema.rb definition is the authoritative source for your
# database schema. If you need to create the application database on another
# system, you should be using db:schema:load, not running all the migrations
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
# you'll amass, the slower it'll run and the greater likelihood for issues).
#
# It's strongly recommended that you check this file into your version control system.

ActiveRecord::Schema.define(version: 20140316023038) do

  # These are extensions that must be enabled in order to support this database
  enable_extension "plpgsql"

  create_table "lines", force: true do |t|
    t.string   "name"
    t.string   "manufacturer_id"
    t.datetime "created_at"
    t.datetime "updated_at"
  end

  add_index "lines", ["manufacturer_id"], name: "index_lines_on_manufacturer_id", using: :btree

  create_table "manufacturers", force: true do |t|
    t.string   "name"
    t.integer  "user_id"
    t.datetime "created_at"
    t.datetime "updated_at"
  end

  add_index "manufacturers", ["user_id"], name: "index_manufacturers_on_user_id", using: :btree

  create_table "users", force: true do |t|
    t.string   "email",                  default: "", null: false
    t.string   "encrypted_password",     default: "", null: false
    t.string   "reset_password_token"
    t.datetime "reset_password_sent_at"
    t.datetime "remember_created_at"
    t.integer  "sign_in_count",          default: 0,  null: false
    t.datetime "current_sign_in_at"
    t.datetime "last_sign_in_at"
    t.string   "current_sign_in_ip"
    t.string   "last_sign_in_ip"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.string   "name"
    t.string   "address"
    t.string   "city"
    t.string   "zip"
    t.string   "state"
    t.string   "fax"
    t.string   "inside_sales_office"
    t.string   "inside_sales_cell"
    t.string   "inside_sales_email"
  end

  add_index "users", ["email"], name: "index_users_on_email", unique: true, using: :btree
  add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree

end
fearless_fool

坦白地说,如果您仍处于开发模式,并且不与团队共享架构,请rake db:rollback等到它删除Lines表后,再从以下位置编辑迁移中的行:

   t.string   "manufacturer_id"

   t.integer   "manufacturer_id"

然后致电rake db:migrate就像Rails中的迁移工具一样优雅,没有什么可以阻止您回滚并以这种方式进行更改。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章