2010-04-29 4 views
0

Je suis en train d'obtenir l'application Mes rails en cours d'exécution sur mon serveur web, mais quand je lance le rake db: migrate je reçois l'erreur suivante:Rails sur l'erreur de syntaxe du serveur?

r

[email protected] [/home/macandco/rails_apps/survey_manager]# rake db:migrate 
(in /home/macandco/rails_apps/survey_manager) 
== Baseapp: migrating ======================================================== 
-- create_table(:settings, {:force=>true}) 
    -> 0.0072s 
-- create_table(:users) 
    -> 0.0072s 
-- add_index(:users, :login, {:unique=>true}) 
    -> 0.0097s 
-- create_table(:profiles) 
    -> 0.0084s 
-- create_table(:open_id_authentication_associations, {:force=>true}) 
    -> 0.0067s 
-- create_table(:open_id_authentication_nonces, {:force=>true}) 
    -> 0.0064s 
-- create_table(:roles) 
    -> 0.0052s 
-- create_table(:roles_users, {:id=>false}) 
    -> 0.0060s 
rake aborted! 
An error has occurred, all later migrations canceled: 

555 5.5.2 Syntax error. g9sm2526951gvc.8 

Quelqu'un at-il rencontré avant?

Merci,

Danny

fichier principal Migration

c

lass Baseapp < ActiveRecord::Migration 
    def self.up 

    # Create Settings Table 
    create_table :settings, :force => true do |t| 
     t.string :label 
     t.string :identifier 
     t.text :description 
     t.string :field_type, :default => 'string' 
     t.text :value 

     t.timestamps 
    end 

    # Create Users Table 
    create_table :users do |t| 
     t.string :login, :limit => 40 
     t.string :identity_url  
     t.string :name, :limit => 100, :default => '', :null => true 
     t.string :email, :limit => 100 
     t.string :mobile 
     t.string :signaturenotes 
     t.string :crypted_password, :limit => 40 
     t.string :salt, :limit => 40 
     t.string :remember_token, :limit => 40 
     t.string :activation_code, :limit => 40 
     t.string :state, :null => :false, :default => 'passive'  
     t.datetime :remember_token_expires_at 
     t.string :password_reset_code, :default => nil 
     t.datetime :activated_at 
     t.datetime :deleted_at 
     t.timestamps 
    end 

    add_index :users, :login, :unique => true 

    # Create Profile Table 
    create_table :profiles do |t| 
     t.references :user 

     t.string :real_name 
     t.string :location 
     t.string :website 
     t.string :mobile 

     t.timestamps 
    end 

    # Create OpenID Tables 
    create_table :open_id_authentication_associations, :force => true do |t| 
     t.integer :issued, :lifetime 
     t.string :handle, :assoc_type 
     t.binary :server_url, :secret 
    end 

    create_table :open_id_authentication_nonces, :force => true do |t| 
     t.integer :timestamp, :null => false 
     t.string :server_url, :null => true 
     t.string :salt, :null => false 
    end 

    create_table :roles do |t| 
     t.column :name, :string 
    end 

    # generate the join table 
    create_table :roles_users, :id => false do |t| 
     t.column :role_id, :integer 
     t.column :user_id, :integer 
    end 

    # Create admin role and user 
    admin_role = Role.create(:name => 'admin') 

    user = User.create do |u| 
     u.login = 'admin' 
     u.password = u.password_confirmation = 'XXXXXXXXX' 
     u.email = '[email protected]' 
    end 

    user.register! 
    user.activate! 

    user.roles << admin_role 
    end 

    def self.down 
    # Drop all BaseApp 
    drop_table :settings 
    drop_table :users 
    drop_table :profiles 
    drop_table :open_id_authentication_associations 
    drop_table :open_id_authentication_nonces 
    drop_table :roles 
    drop_table :roles_users 
    end 
end 
+0

pouvez-vous poster votre fichier de migration? –

+0

a ajouté le fichier de migration principal ci-dessus. – dannymcc

+0

Vous avez des modèles 'role' et' user', n'est-ce pas? Est-ce que 'password_confirmation' est une méthode? –

Répondre

1

L'erreur 555 5.5.2 Syntax est de l'e-mail envoyé après avoir créé l'utilisateur. On dirait que vous avez encore des problèmes d'envoi de courrier électronique. Sur une note de côté ... vous ne devriez pas avoir besoin d'envoyer des emails pendant les migrations.

+0

Il ne devrait pas être l'envoi de courriels lors des migrations? Où dit-il cela? – dannymcc

+0

ahh, je vois. J'ai supprimé cette section: # Créer un rôle d'administrateur et un utilisateur admin_role = Role.create (: name => 'admin') user = User.create do | u.login = 'admin' = u.password u.password_confirmation = 'XXXX' u.email = '[email protected]' fin user.register! user.activate! user.roles << admin_role et il a fonctionné avec succès. Merci, maintenant je peux essayer de comprendre pourquoi il STILL isnt fonctionnement: D Merci, Danny – dannymcc

+0

Je voulais dire que je na pas rendu compte qu'il envoyait des e-mails pendant la migration et demandait où il a déclaré que dans le code de la manière . – dannymcc