![](/img/trans.png)
[英]error on running “rails db:seed” after installing ActiveAdmin gem and running “rails g active_admin:install” and “rails 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.