Ich versuche, eine neue Tabelle in Rails zu erstellen. Jedes Beispiel, das ich finde und versuche, funktioniert bei mir leider nicht ....__, also habe ich es bisher ausprobiert: (Ich verwende Ruby Version 1.9 und Rails Version 3.2.13
Rails generate model content content_id:auto-generated, law_id:integer, parent_id:integer, titel:string, text:string, content:string, url:string
das generierte folgenden Code:
class CreateContents < ActiveRecord::Migration
def change
create_table :contents do |t|
t.auto-generated, :content_id
t.integer, :law_id
t.integer, :parent_id
t.string, :titel
t.string, :text
t.string, :content
t.string :url
t.timestamps
end
end
end
wenn ich versuche, db: zu migrieren, bekomme ich folgende Fehlermeldung:
syntax error, unexpected ',', expecting keyword_end
t.auto-generated, :content_id
^
wenn ich das "," entferne, erhalte ich diese Fehlermeldung:
syntax error, unexpected tSYMBEG, expecting keyword_do or '{' or '('
t.auto-generated :content_id
^
meine Recherche brachte mich auch dazu, eine Tabelle zu erstellen:
class CreateContents < ActiveRecord::Migration
def change
create_table :contents do |t|
t.auto-generated "content_id"
t.integer "law_id"
t.integer "parent_id"
t.string "titel"
t.string "text"
t.string "content"
t.string "url"
t.timestamps
end
end
end
wenn ich versuche, die Datenbank mit diesem Beispiel zu kopieren, erhalte ich folgende Fehlermeldung:
syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '('
t.auto-generated "content_id"
^
Was mache ich falsch?
auto-generated
ist kein unterstützter Spaltentyp.
Active Record unterstützt die folgenden Datenbankspaltentypen:
:binary
:boolean
:date
:datetime
:decimal
:float
:integer
:primary_key
:string
:text
:time
:timestamp
Weitere Informationen in http://guides.rubyonrails.org/migrations.html#supported-types
Rails erstellt die Spalten-ID automatisch für Sie. Bearbeiten Sie Ihre Migration also einfach wie folgt
class CreateContents < ActiveRecord::Migration
def change
create_table :contents do |t|
t.integer "law_id"
t.integer "parent_id"
t.string "titel"
t.string "text"
t.string "content"
t.string "url"
t.timestamps
end
end
end
Wie andere sagen, ist :auto-generated
kein unterstützter Spaltentyp. Es ist auch kein Symbol , es ist ein Ausdruck und wird als :auto - generated
analysiert.
Setzen Sie keine Kommas in den Befehlszeilenaufruf des Rails-Generators ein.