ruby-on-rails 数据库错误schema.rb未生成

dm7nw8vv  于 2023-10-21  发布在  Ruby
关注(0)|答案(1)|浏览(118)

我看过其他一些关于这个问题的答案,没有一个奏效。我正在迁移我的数据库,但没有生成schema.rb。我尝试了rake db:migrate:reset,rake db:drop db:create db:schema:dump db:schema:load db:migrate,但都没有生成schema.rb文件,我有一段时间遇到了问题。我还运行了rake db:rollback,然后运行rake db:migrate:reset,但它仍然抛出重复的表错误,即使在我删除schema.rb之后,所以我不知道它在没有schema.rb的情况下使用了什么,但错误显然是相同的,并且使用了相同的旧模式。我最初以为是数据库,因为它抛出了一个重复的表错误,但发现schema.rb文件是旧的,与我的迁移不同步。我也想过重新启动服务器,但不确定这是否会产生影响,而且似乎它停止和重新启动无论如何,一旦我重新启动我的笔记本电脑。
schema.rb未与迁移同步更新/生成
编辑:development.log条目

^[[1m^[[35m (1.8ms)^[[0m  ^[[1m^[[35mCREATE TABLE   "categories" ("id" bigserial primary key, "title" character varying, "created_at" timestamp(6) NOT NULL, "updated_at" timestamp(6) NOT NULL)^[[0m

  ^[[1m^[[36mTRANSACTION (0.2ms)^[[0m  ^[[1m^[[31mROLLBACK^[[0m
  ^[[1m^[[35m (0.4ms)^[[0m  ^[[1m^[[34mSELECT pg_advisory_unlock(6149806219574577000)^[[0m

我假设它是pg_advisory_unlock,我将查看它。

pokxtpni

pokxtpni1#

db:migrate:reset,但它仍然抛出重复表错误,即使在我删除schema.rb之后,所以我不知道没有schema.rb它在使用什么
db:migrate:reset只是一个drop/create/migrate,因此它从迁移中获取信息,而不是schema.rb
根据您提到的错误,似乎您有一个迁移,试图创建一个已经存在于数据库中的表。

相关问题