mysql champ manquant après la migration de la base de données Rails
-
05-07-2019 - |
Question
j'ai une migration de rails:
>> cat db/migrate/20091126031039_create_cards.rb
class CreateCards < ActiveRecord::Migration
def self.up
create_table :cards do |t|
t.string :number_hash
t.int :number
t.string :name
t.string :type
t.string :expiration
t.int :sec_code
t.timestamps
end
end
def self.down
drop_table :cards
end
end
remarquez le " t.int: sec_code " ligne. il semble exécuter avec succès:
>> rake db:migrate(in /Users/aaronj1335/Sites/clarkbox)
== CreateCards: migrating ====================================================
-- create_table(:cards)
-> 0.4315s
== CreateCards: migrated (0.4317s) ===========================================
mais le " sec_code " la colonne n'est pas créée:
mysql> describe cards;
+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| number_hash | varchar(255) | YES | | NULL | |
| name | varchar(255) | YES | | NULL | |
| type | varchar(255) | YES | | NULL | |
| expiration | varchar(255) | YES | | NULL | |
| created_at | datetime | YES | | NULL | |
| updated_at | datetime | YES | | NULL | |
+-------------+--------------+------+-----+---------+----------------+
7 rows in set (0.00 sec)
pourquoi la colonne sec_code n'est-elle pas créée? il semble que je devrais avoir une erreur ...
La solution
t.int devrait probablement être t.integer. Donnez un coup de feu.
En cas de doute, vertige contient toujours d'excellentes références.
Autres conseils
Eh bien, je ne vois pas non plus le " numéro " le champ étant créé correctement, il doit donc s'agir du type (t.int: un numéro est manquant)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow