webentwicklung-frage-antwort-db.com.de

Erstellen Sie einen neuen Tisch in Ruby auf Schienen

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? 

16
Eumundi

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
18
Luís Ramalho

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.

1
giorgian

Setzen Sie keine Kommas in den Befehlszeilenaufruf des Rails-Generators ein.

0
webdevguy