Rails on server syntax error?
I am trying to get my rails application running on my web server, 开发者_JAVA百科but when I run the rake db:migrate I get the following error:
r
oot@oak [/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
Has anyone come across this before?
Thanks,
Danny
Main Migration file
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 = 'danny@XXXXXXX.co.uk'
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
The 555 5.5.2 Syntax
error is from the email being sent after creating the user. Looks like you still have email sending issues.
On a side note... you shouldn't need to send emails during migrations.
精彩评论