运行 Ubuntu 上的 Rails 服务器时出现 PendingMigrationError
Getting PendingMigrationError while running the Rails server on Ubuntu
我在 Ubuntu 机器上 运行ning rails 服务器时收到以下错误。
Error:
ActiveRecord::PendingMigrationError
Migrations are pending. To resolve this issue, run: bin/rake db:migrate RAILS_ENV=development
为了解决这个问题,我再次 运行 rake db:migrate
但出现以下错误。
Error2:
== 20141218112307 DeviseCreateUsers: migrating ================================
-- create_table(:users)
rake aborted!
StandardError: An error has occurred, all later migrations canceled:
undefined method `inet' for #<ActiveRecord::ConnectionAdapters::TableDefinition:0x00000008c00370>/home/subhrajyoti/100-Sallon/db/migrate/20141218112307_devise_create_users.rb:19:in `block in change'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/abstract/schema_statements.rb:200:in `create_table'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:462:in `create_table'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:662:in `block in method_missing'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:632:in `block in say_with_time'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:632:in `say_with_time'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:652:in `method_missing'
/home/subhrajyoti/100-Sallon/db/migrate/20141218112307_devise_create_users.rb:3:in `change'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:606:in `exec_migration'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:590:in `block (2 levels) in migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:589:in `block in migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:292:in `with_connection'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:588:in `migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:765:in `migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:995:in `block in execute_migration_in_transaction'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:1043:in `ddl_transaction'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:994:in `execute_migration_in_transaction'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:956:in `block in migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:952:in `each'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:952:in `migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:820:in `up'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:798:in `migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/tasks/database_tasks.rb:137:in `migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/railties/databases.rake:44:in `block (2 levels) in <top (required)>'
NoMethodError: undefined method `inet' for #<ActiveRecord::ConnectionAdapters::TableDefinition:0x00000008c00370>
/home/subhrajyoti/100-Sallon/db/migrate/20141218112307_devise_create_users.rb:19:in `block in change'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/abstract/schema_statements.rb:200:in `create_table'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:462:in `create_table'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:662:in `block in method_missing'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:632:in `block in say_with_time'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:632:in `say_with_time'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:652:in `method_missing'
/home/subhrajyoti/100-Sallon/db/migrate/20141218112307_devise_create_users.rb:3:in `change'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:606:in `exec_migration'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:590:in `block (2 levels) in migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:589:in `block in migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:292:in `with_connection'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:588:in `migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:765:in `migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:995:in `block in execute_migration_in_transaction'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:1043:in `ddl_transaction'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:994:in `execute_migration_in_transaction'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:956:in `block in migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:952:in `each'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:952:in `migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:820:in `up'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:798:in `migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/tasks/database_tasks.rb:137:in `migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/railties/databases.rake:44:in `block (2 levels) in <top (required)>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
20150121104519_add_facilities_to_businesses.rb:
class AddFacilitiesToBusinesses < ActiveRecord::Migration
def change
add_column :businesses, :facilities, :string, array: true, default: []
add_index :businesses, :facilities, using: 'gin'
end
end
实际上我已经有一个 Rails 应用程序,它之前与其他数据库一起使用,现在我正在尝试连接 mysql
并获取这些 errors.I 我正在使用 Rails版本 4.2.0 和 ruby 2.1.7.Please 帮我解决了这个错误。
错误解释一切本身。您的数据库迁移文件有问题。转到 application_folder/db/migrate
并找到包含名称 devise_create_users.rb
.
的文件
在该文件中你错误地写了 t.inte
应该是 t.integer
.
所以尝试将 t.inte
更改为 t.integer
,您就完成了。如果您在迁移过程中遇到任何其他错误,请遵循 this.
从迁移中删除杜松子酒并再次 运行 rake db:migrate
。专门用于 postgres 索引的杜松子酒。
class AddFacilitiesToBusinesses < ActiveRecord::Migration
def change
add_column :businesses, :facilities, :string, array: true, default: []
add_index :businesses, :facilities
end
end
我在 Ubuntu 机器上 运行ning rails 服务器时收到以下错误。
Error:
ActiveRecord::PendingMigrationError
Migrations are pending. To resolve this issue, run: bin/rake db:migrate RAILS_ENV=development
为了解决这个问题,我再次 运行 rake db:migrate
但出现以下错误。
Error2:
== 20141218112307 DeviseCreateUsers: migrating ================================
-- create_table(:users)
rake aborted!
StandardError: An error has occurred, all later migrations canceled:
undefined method `inet' for #<ActiveRecord::ConnectionAdapters::TableDefinition:0x00000008c00370>/home/subhrajyoti/100-Sallon/db/migrate/20141218112307_devise_create_users.rb:19:in `block in change'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/abstract/schema_statements.rb:200:in `create_table'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:462:in `create_table'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:662:in `block in method_missing'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:632:in `block in say_with_time'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:632:in `say_with_time'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:652:in `method_missing'
/home/subhrajyoti/100-Sallon/db/migrate/20141218112307_devise_create_users.rb:3:in `change'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:606:in `exec_migration'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:590:in `block (2 levels) in migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:589:in `block in migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:292:in `with_connection'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:588:in `migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:765:in `migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:995:in `block in execute_migration_in_transaction'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:1043:in `ddl_transaction'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:994:in `execute_migration_in_transaction'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:956:in `block in migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:952:in `each'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:952:in `migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:820:in `up'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:798:in `migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/tasks/database_tasks.rb:137:in `migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/railties/databases.rake:44:in `block (2 levels) in <top (required)>'
NoMethodError: undefined method `inet' for #<ActiveRecord::ConnectionAdapters::TableDefinition:0x00000008c00370>
/home/subhrajyoti/100-Sallon/db/migrate/20141218112307_devise_create_users.rb:19:in `block in change'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/abstract/schema_statements.rb:200:in `create_table'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:462:in `create_table'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:662:in `block in method_missing'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:632:in `block in say_with_time'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:632:in `say_with_time'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:652:in `method_missing'
/home/subhrajyoti/100-Sallon/db/migrate/20141218112307_devise_create_users.rb:3:in `change'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:606:in `exec_migration'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:590:in `block (2 levels) in migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:589:in `block in migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:292:in `with_connection'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:588:in `migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:765:in `migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:995:in `block in execute_migration_in_transaction'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:1043:in `ddl_transaction'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:994:in `execute_migration_in_transaction'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:956:in `block in migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:952:in `each'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:952:in `migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:820:in `up'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:798:in `migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/tasks/database_tasks.rb:137:in `migrate'
/var/lib/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/railties/databases.rake:44:in `block (2 levels) in <top (required)>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
20150121104519_add_facilities_to_businesses.rb:
class AddFacilitiesToBusinesses < ActiveRecord::Migration
def change
add_column :businesses, :facilities, :string, array: true, default: []
add_index :businesses, :facilities, using: 'gin'
end
end
实际上我已经有一个 Rails 应用程序,它之前与其他数据库一起使用,现在我正在尝试连接 mysql
并获取这些 errors.I 我正在使用 Rails版本 4.2.0 和 ruby 2.1.7.Please 帮我解决了这个错误。
错误解释一切本身。您的数据库迁移文件有问题。转到 application_folder/db/migrate
并找到包含名称 devise_create_users.rb
.
在该文件中你错误地写了 t.inte
应该是 t.integer
.
所以尝试将 t.inte
更改为 t.integer
,您就完成了。如果您在迁移过程中遇到任何其他错误,请遵循 this.
从迁移中删除杜松子酒并再次 运行 rake db:migrate
。专门用于 postgres 索引的杜松子酒。
class AddFacilitiesToBusinesses < ActiveRecord::Migration
def change
add_column :businesses, :facilities, :string, array: true, default: []
add_index :businesses, :facilities
end
end