Hola amigos,
Tengo un problema que me está volviendo loco.
Estoy tratando de seguir el tutorial de los screencast de Vicen
“Openticket”, hasta ahora teniendo en cuenta que está desarrollado en
2.1 y yo etoy con 2.2, he ido solventando las dificultades que la
diferencia de versiones me plantea (googleando y demás).
Debo decir también que no le planteo la duda a Vicen directamente,
puesto que estoy convencido que lo me ocurre ahora es algo muy general
que nada tiene que ver con el tutorial en concreto. Os cuento:
Voy por el capítulo 4, trabajando con Rest_full_authentication.
- He podido instalar el plugin, y he generado con migrate los
controllers, models, views y el migrate. - El problema me viene al tratar de hacer el rake db:migrate. Hasta
ahora funcionaba sin problemas. Pero al tratar de hacer el rake:db
migrate sobre el último migration (que os pongo aquí abajo), lo
aborta, porque dice que la tabla tickets ya existe ¿?. Pero si al
anterior migrate (tickets) este último no debería afectarle, ¿no?
class CreateUsers < ActiveRecord::Migration
def self.up
create_table “users”, :force => true do |t|
t.column :name, :string
t.column :admin, :integer
t.column :login, :string
t.column :email, :string
t.column :crypted_password, :string, :limit => 40
t.column :salt, :string, :limit => 40
t.column :created_at, :datetime
t.column :updated_at, :datetime
t.column :remember_token, :string
t.column :remember_token_expires_at, :datetime
end
# Creamos dos usuarios iniciales
User.create(:name => "admin", :admin => 1, :login => "admin",
:email => "[email protected]", :password =>
“admin”,
:password_confirmation => “admin”)
User.create(:name => "agent", :admin => 0, :login => "agent",
:email => "[email protected]", :password =>
“agent”,
:password_confirmation => “agent”)
end
def self.down
drop_table “users”
end
end
Hago:
rake db:migrate
Y me devuelve esto (no entiendo nada):
(in C:/AppServ/www/openticket)
== CreateTickets: migrating
– create_table(:tickets)
rake aborted!
An error has occurred, all later migrations canceled:
Mysql::Error: Table ‘tickets’ already exists: CREATE TABLE tickets
(id
int(11) DEFAULT NULL auto_increment PRIMARY KEY, project_id
int(11), user_id
int(11), assigned_to
int(11), title
varchar(255), description
text, closed
int(11) DEFAULT 0,
created_at
datetime, updated_at
datetime) ENGINE=InnoDB
Por cierto, y por si sirve de algo, los nombres de los migrations son,
creo que están bien, es decir que son correlativos en fechas:
20090317091444_create_projects.rb
20090319141853_create_tickets.rb
20090324175744_create_users.rb
Un saludo y gracias de antemano
Fernando V.
Web Designer
http://www.fernandoval.com