簡體   English   中英

Active_admin在運行rake db:migrate時運行錯誤

[英]Active_admin running an error when run rake db:migrate

我正在嘗試在Rails 4下安裝ActiveAdmin,以生成管理面板。

我添加了gem並使用以下命令進行安裝:

gem 'activeadmin', github: 'gregbell/active_admin'
bundle install
rails g active_admin:install              # creates the AdminUser class
rails g active_admin:install User         # uses an existing class

但是,當我嘗試遷移時,出現錯誤:

$ rake db:migrate
==  AddDeviseToAdminUsers: migrating ==========================================
-- change_table(:admin_users)
rake aborted!
An error has occurred, this and all later migrations canceled:

SQLite3::SQLException: duplicate column name: email: ALTER TABLE "admin_users" ADD "email" varchar(255) DEFAULT '' NOT NULL/usr/local/rvm/gems/ruby-2.0.0-p247/gems/sqlite3-1.3.8/lib/sqlite3/database.rb:91:in `initialize'

在github上的問題753中所述,我將AddDeviseToAdminUsers遷移從change_table更改為create_table但這導致此錯誤:

==  AddDeviseToAdminUsers: migrating ==========================================
-- create_table(:admin_users)
rake aborted!

有人可以幫忙嗎?

您看到的異常是由於遷移與現有數據庫結構沖突。 您的admin_users表已經包含“電子郵件”列,這就是為什么您看到錯誤的duplicate column name: email

您應該只運行一次 active_admin:install generator。 使用干凈的應用程序運行ActiveAdmin安裝程序應僅涉及以下內容:

# Add the BETA gem with Rails 4 support. The ActiveAdmin master
# branch is still in heavy development.
gem 'activeadmin', github: 'gregbell/active_admin'

# Bundle
bundle install

# Setup ActiveAdmin 
rails g active_admin:install

對於更高級的情況,如果您已經為管理員用戶創建了ActiveRecord模型,則可以使用生成器的以下變體: rails g active_admin:install MyAdminUser

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM