相关疑难解决方法(0)

PG :: DuplicateTable:错误

当我运行rake db:migrate时,我得到以下输出:

== 20141219011612 CreatePost:迁移======================================= - create_table("帖子")耙子流产!StandardError:发生错误,此以及所有后续迁移都已取消:== 20141219011612 Postposts:migration ============================== ========= - create_table("posts")rake aborted!StandardError:发生错误,此以及所有后续迁移都已取消:

PG :: DuplicateTable:错误:关系"posts"已经存在:CREATE TABLE"posts"("id"串行主键,"post"文本,"release_date"时间戳,"created_at"时间戳,"updated_at"时间戳)/ home/admin/.rvm/gems/ruby​​-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql/database_statements.rb:128:async_exec' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql/database_statements.rb:128:in 在执行'/home/admin/.rvm/gems/ 中的 块中ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract_adapter.rb:373:in block in log' /home/admin/.rvm/gems/ruby-2.1.5/gems/activesupport-4.1.8/lib/active_support/notifications/instrumenter.rb:20:in instrument' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1 .8/lib/active_record/connection_adapters/abstract_adapter.rb:367:log' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql/database_statements.rb:127:in 执行'/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/ schema_statements.rb:205:在create_table' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:649:in method_missing block in say_with_time' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:621:in '/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/ migration.rb:621:in say_with_time'/ home 中的 块中 /admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:641:in method_missing' /home/admin/Desktop/postr/db/migrate/20141219011612_post_posts.rb:3:in up'/ home/admin/.rvm/gem s/ruby​​-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:598:在迁移中的exec_migration' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:579:in 块(2级)' /home/admin/.rvm/gems/ruby-2.1.5 /gems/activerecord-4.1.8/lib/active_record/migration.rb:578:in block in migrate' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:294:in with_connection'/ home/ admin/ .rvm/ gems/ ruby- 2.1.5/ gems/ activerecord- 4.1.8/ lib/active_record/ migration.rb:577:在ddl_transaction'/ home 中 migrate' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:752:in 迁移'/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:991:in …

postgresql ruby-on-rails

18
推荐指数
1
解决办法
2万
查看次数

从架构中删除表 - Rails

我想删除模式中的表.我在第一次启动项目时创建了数据库,并希望删除表.这样做的最佳方式是什么?

我试过rails g migration drop table :installs但是只是创建了一个空迁移?

架构:

create_table "installs", force: :cascade do |t|
    t.string   "email",                  default: "", null: false
    t.string   "encrypted_password",     default: "", null: false
    t.string   "reset_password_token"
    t.datetime "reset_password_sent_at"
    t.datetime "remember_created_at"
    t.integer  "sign_in_count",          default: 0,  null: false
    t.datetime "current_sign_in_at"
    t.datetime "last_sign_in_at"
    t.string   "current_sign_in_ip"
    t.string   "last_sign_in_ip"
    t.datetime "created_at",                          null: false
    t.datetime "updated_at",                          null: false
  end

add_index "installs", ["email"], name: "index_installs_on_email", unique: true
add_index "installs", ["reset_password_token"], name: "index_installs_on_reset_password_token", unique: true
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails rails-migrations

13
推荐指数
2
解决办法
2万
查看次数

Rails 3:使用迁移删除表

我有一个使用迁移创建的表,现在我想摆脱这个表.我很确定我可以退出迁移,但我找不到这样做的语法.我从搜索Rails数据库迁移 - 如何删除表中找到了这个问题

但他基本上说你可以找到你需要的东西并提供一个链接.我读了那个链接,我没有看到任何说明如何做到这一点.我看到它的碎片,但我不知道如何把它们放在一起.

我在迁移中看到它有一个self.down方法,我真的只需要知道如何调用它.

migration ruby-on-rails ruby-on-rails-3

5
推荐指数
2
解决办法
1万
查看次数

删除模型和表,以便可以在Rails中重新开始

我在项目开始时创建了一个注释模型,但现在我已经意识到我需要创建一些多态关系,所以我也可以使用其他一些模型的注释.考虑到我已经拥有的代码等,我认为我可能更容易从头开始,所以我可以以正确的方式为我的新多态世界构建所有视图/控制器等.

我知道我可以rails destroy model comments实现这个目标,但我有两个问题:

  1. 这会删除模型,迁移和实际的DB表吗?
  2. 当我想创建一个具有完全相同名称的新模型时会有什么影响?

ruby-on-rails models polymorphic-associations rails-migrations destroy

3
推荐指数
2
解决办法
6081
查看次数

Drop_table问题阻止了rake db:migrate

我正在寻找一种方法来删除Rails中的表并重新开始并遇到了这样的答案:Rails数据库迁移 - 如何删除表?

但是,当我运行时,drop_table :examples我收到以下错误:

-bash: drop_table: command not found
Run Code Online (Sandbox Code Playgroud)

这是我的create_examples迁移文件:

def self.down
  drop_table :examples
end
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助指导我解决这个问题并让我了解我做错了什么吗?我需要修复它,因为此特定迁移阻止执行rake db:migrate,生成以下错误:

==  CreateExamples: migrating ====================================================
-- create_table(:examples)
rake aborted!
An error has occurred, this and all later migrations canceled:

SQLite3::SQLException: table "examples" already exists: CREATE TABLE "examples" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "content" varchar(255), "user_id" integer, "created_at" datetime, "updated_at" datetime) 
Run Code Online (Sandbox Code Playgroud)

谢谢!(如果我需要提供更多代码,请告诉我.)

rake ruby-on-rails drop-table ruby-on-rails-3

2
推荐指数
1
解决办法
1429
查看次数

ruby on Rails 架构文件

我已经从控制台的数据库中成功删除了我的表,使用

ActiveRecord::Migration.drop_table(:foo),

但由于某种原因,表数据仍然显示在架构文件中。

我想要一种方法来做到这一点,而不必手动删除数据,(没有给人一种适当的轨道感觉。)

ruby ruby-on-rails

1
推荐指数
1
解决办法
1525
查看次数