在执行 rake db:migrate 时,出现了“重复列名 ’email’:ALTER TABLE `admin_users`”的提示

我想要在Rails的项目中添加activeadmin。

在运行 rake db:migrate 命令时出现错误。

bundle exec rake db:migrate

略

Migrating to AddDeviseToAdminUsers (20160714141618)
== 20160714141618 AddDeviseToAdminUsers: migrating ============================
-- change_table(:admin_users)
   (6.7ms)  ALTER TABLE `admin_users` ADD `email` varchar(255) DEFAULT '' NOT NULL
   (0.3ms)  SELECT RELEASE_LOCK('5237447081854824375')
rake aborted!
StandardError: An error has occurred, all later migrations canceled:

Mysql2::Error: Duplicate column name 'email': ALTER TABLE `admin_users` ADD `email` varchar(255) DEFAULT '' NOT NULL

略

由于以前安装了activeadmin,所以admin_users表已经存在。
由于添加并执行了创建admin_users的迁移文件,所以出现了错误。

删除admin_users数据表

尽管参考页面建议进行回滚,但考虑到要新增一项新内容,我还是从MySQL中删除了它。

mysql -u root
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 15
Server version: 5.5.47-MariaDB MariaDB Server

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> use pugiemonn_com;
MariaDB [pugiemonn_com]> drop table admin_users;

重新执行 rake db:migrate

这次成功了。

请提供更多上下文或完整的句子,以便我可以准确地翻译为中文。

广告
将在 10 秒后关闭
bannerAds