Ich bin neu auf Schienen und nach einem Tutorial, wo wir einige Einträge erstellt haben. Zur Zeit, als ich den Server ausführen es sagt mirDoppelte Spaltenname in Schienen
Migrations are pending. To resolve this issue, run: bin/rake db:migrate RAILS_ENV=development
Dann bemerkte ich, nachdem ich einige SO Beiträge zu sehen, ich Dinge tun sollten, wie laufen
rake db:migrate
Dann erkannte ich, wenn ich es tat, dass ich ein paar bekam von Linien und eine, die diese hatte
ActiveRecord::StatementInvalid: SQLite3::SQLException: duplicate column name: description: ALTER TABLE "articles" ADD "description" text
Welche ich vermute, das Problem kommt von. Nun bin ich kein Experte in Schienen, aber wie kann ich feststellen, wo diese doppelte Spalte aus ist, wenn ich
rails console- > Article.all
bekomme ich
<ActiveRecord::Relation [#<Article id: 1, title: "This is my first article",
description: "This is the description", created_at: "2016-07-20 00:03:42",
updated_at: "2016-07-20 00:03:42">, #<Article id: 2, title: "This is an endited
title", description: "This is my second description", created_at: "2016-07-20
00:05:39", updated_at: "2016-07-20 00:40:54">]
Was ich gestern erstellt. Aber wo ist dieses doppelte Beschreibungsfeld? Wo soll ich hinschauen?
Meine beiden Migrationsdateien aussehen wie dies durch die Art und Weise
class CreateArticles < ActiveRecord::Migration
def change
create_table :articles do |t|
t.string :title
t.text :description
t.timestamps null: false
end
end
end
Ein weiteres
class AddDescriptionToArticles < ActiveRecord::Migration
def change
add_column :articles, :description, :text
add_column :articles, :created_at, :datetime
add_column :articles, :updated_at, :datetime
end
end
Mein Schema
ActiveRecord::Schema.define(version: 20160715020218) do
create_table "articles", force: :cascade do |t|
t.string "title"
t.text "description"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
end
Ich habe das Schema im ursprünglichen Beitrag hinzugefügt. Es gibt mir immer noch einen Fehler, und wenn ich Rake db: migrieren, sagt es mir, ich habe eine doppelte Spalte woanders auch –
editierte Antwort. Du verdoppelst auch deine Zeitstempelspalten, wenn dein Schema sie bereits hat – Ren
So lösche ich alles in def Änderung? Seltsam, der Ausbilder schrieb DEFINITIV alles in der letzten Vorlesung. Und sein Code funktioniert gut –