我一直在运行一些迁移,但它不会更新架构文件。我知道迁移已经正确地改变了我的数据库,但似乎我的模式文件不再改变了......这是我的模式文件。它错过了我创建的最后一个表(表'通知')以及我在此表上运行的几次迁移。
ActiveRecord::Schema.define(version: 20150501141614) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
create_table "active_admin_comments", force: :cascade do |t|
t.string "namespace"
t.text "body"
t.string "resource_id", null: false
t.string "resource_type", null: false
t.integer "author_id"
t.string "author_type"
t.datetime "created_at"
t.datetime "updated_at"
end
add_index "active_admin_comments", ["author_type", "author_id"], name: "index_active_admin_comments_on_author_type_and_author_id", using: :btree
add_index "active_admin_comments", ["namespace"], name: "index_active_admin_comments_on_namespace", using: :btree
add_index "active_admin_comments", ["resource_type", "resource_id"], name: "index_active_admin_comments_on_resource_type_and_resource_id", using: :btree
create_table "activities", force: :cascade do |t|
t.integer "trackable_id"
t.string "trackable_type"
t.integer "owner_id"
t.string "owner_type"
t.string "key"
t.text "parameters"
t.integer "recipient_id"
t.string "recipient_type"
t.datetime "created_at"
t.datetime "updated_at"
end
add_index "activities", ["owner_id", "owner_type"], name: "index_activities_on_owner_id_and_owner_type", using: :btree
add_index "activities", ["recipient_id", "recipient_type"], name: "index_activities_on_recipient_id_and_recipient_type", using: :btree
add_index "activities", ["trackable_id", "trackable_type"], name: "index_activities_on_trackable_id_and_trackable_type", using: :btree
create_table "clients", force: :cascade do |t|
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
create_table "convocations", force: :cascade do |t|
t.date "date"
t.time "hour"
t.integer "subscription_id"
t.string "status", default: "pending"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
add_index "convocations", ["subscription_id"], name: "index_convocations_on_subscription_id", using: :btree
create_table "mailboxer_conversation_opt_outs", force: :cascade do |t|
t.integer "unsubscriber_id"
t.string "unsubscriber_type"
t.integer "conversation_id"
end
add_index "mailboxer_conversation_opt_outs", ["conversation_id"], name: "index_mailboxer_conversation_opt_outs_on_conversation_id", using: :btree
add_index "mailboxer_conversation_opt_outs", ["unsubscriber_id", "unsubscriber_type"], name: "index_mailboxer_conversation_opt_outs_on_unsubscriber_id_type", using: :btree
create_table "mailboxer_conversations", force: :cascade do |t|
t.string "subject", default: ""
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
create_table "mailboxer_notifications", force: :cascade do |t|
t.string "type"
t.text "body"
t.string "subject", default: ""
t.integer "sender_id"
t.string "sender_type"
t.integer "conversation_id"
t.boolean "draft", default: false
t.string "notification_code"
t.integer "notified_object_id"
t.string "notified_object_type"
t.string "attachment"
t.datetime "updated_at", null: false
t.datetime "created_at", null: false
t.boolean "global", default: false
t.datetime "expires"
end
add_index "mailboxer_notifications", ["conversation_id"], name: "index_mailboxer_notifications_on_conversation_id", using: :btree
add_index "mailboxer_notifications", ["notified_object_id", "notified_object_type"], name: "index_mailboxer_notifications_on_notified_object_id_and_type", using: :btree
add_index "mailboxer_notifications", ["sender_id", "sender_type"], name: "index_mailboxer_notifications_on_sender_id_and_sender_type", using: :btree
add_index "mailboxer_notifications", ["type"], name: "index_mailboxer_notifications_on_type", using: :btree
create_table "mailboxer_receipts", force: :cascade do |t|
t.integer "receiver_id"
t.string "receiver_type"
t.integer "notification_id", null: false
t.boolean "is_read", default: false
t.boolean "trashed", default: false
t.boolean "deleted", default: false
t.string "mailbox_type", limit: 25
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
add_index "mailboxer_receipts", ["notification_id"], name: "index_mailboxer_receipts_on_notification_id", using: :btree
add_index "mailboxer_receipts", ["receiver_id", "receiver_type"], name: "index_mailboxer_receipts_on_receiver_id_and_receiver_type", using: :btree
create_table "messages", force: :cascade do |t|
t.integer "user_id"
t.datetime "read_at"
t.text "content"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "convocation_id"
end
add_index "messages", ["user_id"], name: "index_messages_on_user_id", using: :btree
create_table "subscriptions", force: :cascade do |t|
t.integer "user_id"
t.integer "tournament_id"
t.string "status", default: "pending"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
add_index "subscriptions", ["tournament_id"], name: "index_subscriptions_on_tournament_id", using: :btree
add_index "subscriptions", ["user_id"], name: "index_subscriptions_on_user_id", using: :btree
create_table "tournaments", force: :cascade do |t|
t.integer "user_id"
t.string "genre"
t.string "category"
t.boolean "accepted"
t.integer "amount"
t.date "starts_on"
t.date "ends_on"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "address"
t.string "city"
t.string "name"
t.string "club_organisateur"
t.float "latitude"
t.float "longitude"
end
add_index "tournaments", ["user_id"], name: "index_tournaments_on_user_id", using: :btree
create_table "transfers", force: :cascade do |t|
t.string "status"
t.integer "mangopay_transaction_id"
t.string "category"
t.json "archive"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "tournament_id"
end
create_table "users", force: :cascade do |t|
t.string "email", default: "", null: false
t.string "encrypted_password", default: ""
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.inet "current_sign_in_ip"
t.inet "last_sign_in_ip"
t.datetime "created_at"
t.datetime "updated_at"
t.string "first_name"
t.string "last_name"
t.string "ranking"
t.boolean "judge", default: false
t.string "genre"
t.string "date_of_birth"
t.string "licence_number"
t.integer "judge_number"
t.string "invitation_token"
t.datetime "invitation_created_at"
t.datetime "invitation_sent_at"
t.datetime "invitation_accepted_at"
t.integer "invitation_limit"
t.integer "invited_by_id"
t.string "invited_by_type"
t.integer "invitations_count", default: 0
t.datetime "confirmed_at"
t.datetime "confirmation_sent_at"
t.string "name"
t.string "telephone"
t.string "picture_file_name"
t.string "picture_content_type"
t.integer "picture_file_size"
t.datetime "picture_updated_at"
t.string "provider"
t.string "uid"
t.string "picture"
t.string "token"
t.datetime "token_expiry"
t.boolean "admin", default: false, null: false
t.string "licencepicture_file_name"
t.string "licencepicture_content_type"
t.integer "licencepicture_file_size"
t.datetime "licencepicture_updated_at"
t.string "certifmedpicture_file_name"
t.string "certifmedpicture_content_type"
t.integer "certifmedpicture_file_size"
t.datetime "certifmedpicture_updated_at"
t.string "attestationformationja_file_name"
t.string "attestationformationja_content_type"
t.integer "attestationformationja_file_size"
t.datetime "attestationformationja_updated_at"
t.integer "client_id"
t.integer "mangopay_natural_user_id"
t.integer "wallet_id"
t.integer "kyc_document_id"
t.integer "card_id"
t.datetime "birthdate"
end
add_index "users", ["email"], name: "index_users_on_email", unique: true, using: :btree
add_index "users", ["invitation_token"], name: "index_users_on_invitation_token", unique: true, using: :btree
add_index "users", ["invitations_count"], name: "index_users_on_invitations_count", using: :btree
add_index "users", ["invited_by_id"], name: "index_users_on_invited_by_id", using: :btree
add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree
add_foreign_key "convocations", "subscriptions"
add_foreign_key "mailboxer_conversation_opt_outs", "mailboxer_conversations", column: "conversation_id", name: "mb_opt_outs_on_conversations_id"
add_foreign_key "mailboxer_notifications", "mailboxer_conversations", column: "conversation_id", name: "notifications_on_conversation_id"
add_foreign_key "mailboxer_receipts", "mailboxer_notifications", column: "notification_id", name: "receipts_on_notification_id"
add_foreign_key "subscriptions", "tournaments"
add_foreign_key "subscriptions", "users"
add_foreign_key "tournaments", "users"
end
然后我运行了rake db:drop db:create db:migrate但我的架构文件仍然不完整。然后我尝试运行另一个迁移只是为了检查:
class AddColumnClubToUsers < ActiveRecord::Migration
def change
add_column :users, :club, :string
end
end
但架构文件仍然无法更新
答案 0 :(得分:1)
只需在开发中重建数据库即可使用:rake db:drop db:create db:migrate
。此命令应删除DB并从头开始重建包括schema.rb
。
如果这不起作用,请更改新的迁移。可能你有错误(即方法名称中的拼写错误等)。