Rails - Verwenden von 'rails generate model' zum Angeben eines nicht nullbaren Feldtyps

10

Gemäß der Rails-Dokumentation

Ссылка

2.3 Unterstützte Typenmodifikatoren sagen, dass es möglich sein sollte, Felder zu ändern, um NULL in der Spalte zuzulassen oder zu verbieten, und dass dies auf dem Terminal möglich ist

Das möchte ich in der Migrationsdatei sehen

%Vor%

Am Terminal habe ich es versucht

%Vor%

Ich kann mir keine andere Möglichkeit vorstellen, es auszudrücken

Hinweis: Ich weiß bereits, dass Sie in die Migrationsdatei gehen und sie manuell hinzufügen können. Das ist nicht was ich suche.

    
Alan 20.01.2014, 01:56
quelle

3 Antworten

1

Die Dokumente erwähnen das

  

Einige häufig verwendete Typmodifikatoren können direkt in der Befehlszeile übergeben werden. Sie sind von geschweiften Klammern umschlossen und folgen dem Feldtyp

aber sie geben keine Details darüber, welche "häufig verwendeten" Modifikatoren funktionieren werden.

Wie Herr Rogers darauf hingewiesen hat Es gibt nur drei unterstützte Optionen :

  • Länge für Zeichenfolge / text / binary / integer ( name:string{255} )
  • Genauigkeit, Dezimalskala ( dollar_fragment:decimal{3,2} )
  • polymorph für Referenzen / gehören zu ( agent:references{polymorphic} )

Wie von user2903934 erwähnt Es kann möglich sein, dies über die Befehlszeile als Hack zu machen.

HINWEIS: das ist ein Hack. Ich würde nicht empfehlen, dies zu tun aber es beantwortet Ihre Frage.

%Vor%

Es sieht so aus, als ob es sich auf den ersten Doppelpunkt aufteilt, also können wir eine Hashrocket-Syntax verwenden, um darin Optionen einzuschleusen. Dies ergibt:

%Vor%

Das wird offensichtlich nicht offiziell unterstützt, es funktioniert einfach.

    
devpuppy 11.04.2016 23:22
quelle
0

Am nächsten komme ich zu Ihrer Lösung, etwa so:

%Vor%

Ich konnte nicht herausfinden, was nach dem , kommt, aber das sollte dir einen Start geben

    
user2903934 28.08.2014 14:29
quelle
-2

Sie können das in Ihrer Modellklasse so machen -

%Vor%     
krishna 24.08.2015 19:02
quelle