varchar Migration question pour Ruby on Rails
J'ai créé une nouvelle table, y compris une colonne "remarque". La valeur par défaut est de type varchar(255) je crois, mais je souhaite que cette colonne soit une zone de texte par rapport à un domaine et permettre à plus de données. J'imagine que je voudrais faire ce changement dans ActiveRecord::Migration de fichier, mais je suis curieux de savoir le format. Dois-je simplement changer le type varchar(255) varchar(1000) par exemple? (si oui quel est le format?
def self.up
create_table :notes do |t|
t.string :note :varchar(1000)
end
Est-ce le bon format? En outre, comment puis-je obtenir le champ de saisie à plusieurs lignes. Désolé si c'est chose facile, mais je suis nouveau dans la programmation et RoR. Merci.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez simplement utiliser le "texte" type "au lieu de "string".
En utilisant le "texte" type de résultat dans la colonne de base de données de type TEXTE. Varchar est généralement limitée à une longueur maximale de 255 (MySQL, d'autres Sgbdr ont les mêmes limites).
Si vous utilisez de Rails pour former les accompagnateurs, un textarea seront de sortie pour ce domaine (car il est de type 'texte'). textarea est l'élément de formulaire qui accepte multi-ligne d'entrée.
Edit: Si vous avez déjà migré le create_table, vous pouvez créer une nouvelle migration pour changer le type de colonne:
Le format correct serait
assurez-vous que vous utilisez une version de MySQL(ou en n'importe quelle base de données) qui prend en charge varchars de plus de 256 caractères.
si vous souhaitez utiliser un grand bloc de texte, il serait
Voir http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/TableDefinition.html pour plus d'informations
Vous pouvez modifier la longueur avec l'option de limite comme si...
Depuis que j'ai eu beaucoup de données déjà stockées j'ai utilisé
Si j'ai laissé l' :limite => nul, alors la colonne type de changement de type varchar pour le texte, mais il avait toujours une longueur maximale de 255 caractères.