Relation ist bereits während der Rake-Migration vorhanden

8

Ich habe eine Blog-Engine zu raffinerycms installiert, die perfekt funktioniert.

Jetzt habe ich eine Migration mit einigen Tabellenfeldern Änderungen (natürlich nicht Raffineriems oder Blog-Tabellen) generiert, aber ich bekomme einen Fehler:

  

== CreateBlogStructure: migrieren ========================================= ==
  - create_table ("raffinerie_blog_posts", {: id = & gt; true})
  HINWEIS: CREATE TABLE erstellt die implizite Sequenz "raffinerie_blog_posts_id_seq1" für die serielle Spalte "raffinerie_blog_posts.id"   Rake abgebrochen!
  Es ist ein Fehler aufgetreten. Diese und alle späteren Migrationen wurden abgebrochen:

     

PG :: Fehler: FEHLER: Die Beziehung "raffinerie_blog_posts" existiert bereits   : CREATE TABLE "raffinerie_blog_posts" ("id" serieller Primärschlüssel, "title" variierendes Zeichen (255), "body" Text, "Entwurf" boolean, "published_at" Zeitstempel, "created_at" Zeitstempel NOT NULL, "update_at" Zeitstempel NOT NULL)

     

Aufgaben: TOP = & gt; db: migrate   (Siehe vollständige Ablaufverfolgung, indem Task mit --trace ausgeführt wird)

    
Vaibhav Rajput 26.09.2012, 12:55
quelle

2 Antworten

10

Überprüfen Sie Ihre db / schema.rb

Sie haben höchstwahrscheinlich die gleiche Tabelle, die dort zusätzlich zu einer Migration in db / migrate / [timestamp] your_migration

erstellt wird

Sie können db / migrate / [timestamp] your_migration löschen, wenn es ein Duplikat des im Schema gefundenen ist und es funktionieren sollte.

    
Sam Ruberti 26.01.2013, 20:00
quelle
6
%Vor%

Pg ist ein Rails-Juwel, der Code, der die Kommunikation zwischen Rails und PostgreSQL ermöglicht. Es bezieht Ihre Migrationen auf SQL-Tabellen, also einen Beziehungsfehler. Also, was der Fehler sagt ist:

  

Ich versuche, Tabelle X basierend auf Migration X, aber Tabelle X zu erstellen   existiert bereits in der Datenbank.

Mögliche Lösungen:

  1. Erstellen Sie Migrationen, die diese, wahrscheinlich alten, Tabellen löschen.
  2. Ändern Sie den Namen der Migration.
  3. Melden Sie sich bei PostgreSQL an und legen Sie die Tabelle ab. Etwas wie:

    %Vor%

    dann

    %Vor%

    Die genauen Befehle könnten jedoch ein wenig anders sein.

givanse 09.12.2013 18:53
quelle

Tags und Links