当前位置: 首页 > 知识库问答 >
问题:

由于迁移有缺陷,试图重置我的数据库,如果没有SQLException甚至无法重置

公西国发
2023-03-14

我试图修复一个错误的迁移,结果jsut删除了它,但现在我甚至不能重置我的rails db。我只是得到这个错误:

rake DB:重置rake中止!ActiveRecord::StatementInvalid:sqlite3::sqlException:没有这样的表:simulations:从“simulations”中选择“simulations”.*按“simulations”的顺序。“id”DESC限制1

这些是我有1的迁移。

 class DeviseCreateUsers < ActiveRecord::Migration
  def change
    create_table(:users) do |t|
      ## Database authenticatable
      t.string :email,              :null => false, :default => "", limit: 96
      t.string :encrypted_password, :null => false, :default => "", limit: 60

      t.timestamps

      t.index :email, unique: true
    end
  end
end

2.

class CreateSimulations < ActiveRecord::Migration
  def change
    # Needs the hash column worked out before this is run 
    create_table :simulations do |t|
        t.integer :x_size
        t.integer :y_size
        t.string :verdict
        t.string :arrangement 
    end

    add_reference :simulations, :user, index: true    
  end
end
    class AddOpinionToSimulation < ActiveRecord::Migration
      def change
        add_column :simulations, :opinion, :hash
      end
    end
class RemoveVerdictFromSimulations < ActiveRecord::Migration
  def change
    remove_column :simulations, :verdict
  end
end

编辑@Ian:

# == Schema Information
#
# Table name: simulations
#
#  id          :integer          not null, primary key
#  x_size      :integer
#  y_size      :integer
#  verdict     :string
#  arrangement :string
#  user_id     :integer
#  opinion     :hash
#

FactoryGirl.define do 
    factory :simulation do |f|
        f.id (Simulation.last.nil? ? 1 : Simulation.last.id + 1)
        f.x_size 3
        f.y_size 3
        f.user_id 1
    end 
end 

共有1个答案

钱弘壮
2023-03-14

db:reset执行db:drop db:setupdb:setup执行schema:load,它试图读取可能存在问题的db schema文件。如果您执行rake db:drop db:create db:migrate,应该可以修复它。

更多信息请参见此答案:rake db:migrate db:reset和db:schema:load之间的区别

 类似资料:
  • 我基本上是做一个龙头插件,练习。 服务器不启用服务器,控制台没有错误。它也没有启用插件的“信息”。 这是我的主课 这是我的指挥班 这是我的插件。yml文件 实际上,插件中没有空格。我用的是最新版本的插口。

  • 我想重置/删除所有条目从我的数据库的所有集合,在MongoDB的NodeJs一定的时间后。可能的方法是什么? 我已将此代码包含在函数中。也许有一种方法可以在一段时间后调用这个函数?

  • 在我的Spring Boot项目中,我正在尝试为MongoDb实现一个数据库迁移,我对MongoDb和mongock非常陌生<下面是关于错误的一些详细信息,以及到目前为止我所做的工作: > 我的pom有以下依赖项: 我已经用“ 并将少量数据插入DB。 在application.properties文件中添加以下行 蒙哥克。更改日志扫描包=com。产品目标配置 现在,当我构建项目“mvn clean

  • 我的目标是为现有应用程序启用架构和数据迁移。 这种问题似乎已经被问过很多次了,不过我想是因为不同的要求和环境。 由于我在这个领域没有经验,请允许我先介绍一下应用程序的架构和我的假设。 该应用程序是一个多用户企业桌面应用程序,具有后端服务器,可以持久保存到任何主要数据库(MySql,Postgresql,SQL服务器,Oracle数据库等)。假设数据库是内部部署的,并由我们的客户维护。 使用的技术堆

  • 这是一个有问题的或有更好替代物的 gem 列表。不要在项目中使用它们。 rmagick - 这个 gem 因大量消耗内存而臭名昭著。应使用 minimagick 来替代它。 autotest - 测试自动化的过时方案,远不及 guard 和 watchr。 rcov - 代码覆盖率工具,不兼容 Ruby 1.9。应使用 SimpleCov 来替代它。 therubyracer - 内存杀手,强烈不

  • 下面是网站地图。php,并且它被认为是一个XML网站地图(为了SEO)。它背后的原理是:它拉取并将其正确格式化为XML站点地图链接。 它似乎运行良好,请现场查看:http://loaistudio.com/sitemap然而,我并不确定它是否被识别为XML文件——所以我对它进行了测试,但测试失败了——没有找到站点地图。。。看看这里:http://seositecheckup.com/test_ch