mysql campo mancante dopo aver eseguito la migrazione db rails
-
05-07-2019 - |
Domanda
Ho una migrazione delle rotaie:
>> 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
nota il " t.int: sec_code " linea. sembra funzionare correttamente:
>> rake db:migrate(in /Users/aaronj1335/Sites/clarkbox)
== CreateCards: migrating ====================================================
-- create_table(:cards)
-> 0.4315s
== CreateCards: migrated (0.4317s) ===========================================
ma il " sec_code " colonna non creata:
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)
perché non viene creata la colonna sec_code? sembra che dovrei ricevere un errore ...
Soluzione
t.int dovrebbe probabilmente essere t.integer. Provaci.
In caso di dubbi, dizzy ha sempre delle ottime referenze.
Altri suggerimenti
Beh, non vedo anche il "numero" " campo creato correttamente, quindi deve essere il tipo (t.int: numero mancante)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow