Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Can';t将rails数据库列从浮点迁移到整数_Ruby On Rails - Fatal编程技术网

Ruby on rails Can';t将rails数据库列从浮点迁移到整数

Ruby on rails Can';t将rails数据库列从浮点迁移到整数,ruby-on-rails,Ruby On Rails,我正在尝试将我的:products表中:price列的数据类型从:float更改为:integer,但我不断收到这些错误。我已经尝试了所有的方法,但是我被困住了,我想我最终会寻求帮助 以下是我的数据库迁移文件代码: class ChangeDataTypeForProductPrice < ActiveRecord::Migration[5.1] def change change_column :products, :price, :integer end end cl

我正在尝试将我的:products表中:price列的数据类型从:float更改为:integer,但我不断收到这些错误。我已经尝试了所有的方法,但是我被困住了,我想我最终会寻求帮助

以下是我的数据库迁移文件代码:

class ChangeDataTypeForProductPrice < ActiveRecord::Migration[5.1]
  def change
    change_column :products, :price, :integer
  end
end
class ChangeDataTypeForProductPrice
提前感谢任何能帮助我的人:)

这是输出

Computers-MacBook-Pro:rubyapp MyComputer$ rails db:migrate
== 20180118162844 ChangeDataTypeForProductPrice: migrating ====================
-- change_column(:products, :price, :integer)
rails aborted!
StandardError: An error has occurred, this and all later migrations canceled:

SQLite3::ConstraintException: FOREIGN KEY constraint failed: DROP TABLE "products"
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb:108:in `step'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb:108:in `block in each'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb:107:in `loop'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb:107:in `each'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:152:in `map'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:152:in `block in execute'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:95:in `prepare'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:137:in `execute'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/sqlite3_adapter.rb:251:in `block (2 levels) in execute'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activesupport-5.1.4/lib/active_support/dependencies/interlock.rb:46:in `block in permit_concurrent_loads'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activesupport-5.1.4/lib/active_support/concurrency/share_lock.rb:185:in `yield_shares'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activesupport-5.1.4/lib/active_support/dependencies/interlock.rb:45:in `permit_concurrent_loads'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/sqlite3_adapter.rb:250:in `block in execute'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:612:in `block (2 levels) in log'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:611:in `block in log'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activesupport-5.1.4/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:603:in `log'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/sqlite3_adapter.rb:249:in `execute'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract/schema_statements.rb:471:in `drop_table'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/sqlite3_adapter.rb:435:in `move_table'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/sqlite3_adapter.rb:427:in `block in alter_table'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:233:in `transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/sqlite3_adapter.rb:426:in `alter_table'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/sqlite3_adapter.rb:376:in `change_column'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:849:in `block in method_missing'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:818:in `block in say_with_time'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:818:in `say_with_time'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:838:in `method_missing'
/Users/MyComputer/Documents/Career Foundry/Achievement 3 - Basic Rails Web App/rubyapp/db/migrate/20180118162844_change_data_type_for_product_price.rb:3:in `change'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:792:in `exec_migration'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:776:in `block (2 levels) in migrate'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:775:in `block in migrate'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:408:in `with_connection'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:774:in `migrate'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:953:in `migrate'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1230:in `block in execute_migration_in_transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1298:in `block in ddl_transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:235:in `block in transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:194:in `block in within_new_transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:191:in `within_new_transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:235:in `transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/transactions.rb:210:in `transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1298:in `ddl_transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1229:in `execute_migration_in_transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1201:in `block in migrate_without_lock'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1200:in `each'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1200:in `migrate_without_lock'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1150:in `migrate'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1007:in `up'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:985:in `migrate'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/tasks/database_tasks.rb:171:in `migrate'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/railties/databases.rake:58:in `block (2 levels) in <top (required)>'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/railties-5.1.4/lib/rails/commands/rake/rake_command.rb:21:in `block in perform'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/railties-5.1.4/lib/rails/commands/rake/rake_command.rb:18:in `perform'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/railties-5.1.4/lib/rails/command.rb:46:in `invoke'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/railties-5.1.4/lib/rails/commands.rb:16:in `<top (required)>'
/Users/MyComputer/Documents/Career Foundry/Achievement 3 - Basic Rails Web App/rubyapp/bin/rails:9:in `require'
/Users/MyComputer/Documents/Career Foundry/Achievement 3 - Basic Rails Web App/rubyapp/bin/rails:9:in `<top (required)>'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `load'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `call'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/spring-2.0.2/lib/spring/client/command.rb:7:in `call'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/spring-2.0.2/lib/spring/client.rb:30:in `run'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/spring-2.0.2/bin/spring:49:in `<top (required)>'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `load'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `<top (required)>'
/Users/MyComputer/Documents/Career Foundry/Achievement 3 - Basic Rails Web App/rubyapp/bin/spring:15:in `require'
/Users/MyComputer/Documents/Career Foundry/Achievement 3 - Basic Rails Web App/rubyapp/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'

Caused by:
ActiveRecord::InvalidForeignKey: SQLite3::ConstraintException: FOREIGN KEY constraint failed: DROP TABLE "products"
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb:108:in `step'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb:108:in `block in each'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb:107:in `loop'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb:107:in `each'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:152:in `map'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:152:in `block in execute'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:95:in `prepare'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:137:in `execute'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/sqlite3_adapter.rb:251:in `block (2 levels) in execute'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activesupport-5.1.4/lib/active_support/dependencies/interlock.rb:46:in `block in permit_concurrent_loads'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activesupport-5.1.4/lib/active_support/concurrency/share_lock.rb:185:in `yield_shares'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activesupport-5.1.4/lib/active_support/dependencies/interlock.rb:45:in `permit_concurrent_loads'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/sqlite3_adapter.rb:250:in `block in execute'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:612:in `block (2 levels) in log'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:611:in `block in log'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activesupport-5.1.4/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:603:in `log'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/sqlite3_adapter.rb:249:in `execute'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract/schema_statements.rb:471:in `drop_table'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/sqlite3_adapter.rb:435:in `move_table'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/sqlite3_adapter.rb:427:in `block in alter_table'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:233:in `transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/sqlite3_adapter.rb:426:in `alter_table'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/sqlite3_adapter.rb:376:in `change_column'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:849:in `block in method_missing'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:818:in `block in say_with_time'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:818:in `say_with_time'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:838:in `method_missing'
/Users/MyComputer/Documents/Career Foundry/Achievement 3 - Basic Rails Web App/rubyapp/db/migrate/20180118162844_change_data_type_for_product_price.rb:3:in `change'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:792:in `exec_migration'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:776:in `block (2 levels) in migrate'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:775:in `block in migrate'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:408:in `with_connection'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:774:in `migrate'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:953:in `migrate'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1230:in `block in execute_migration_in_transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1298:in `block in ddl_transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:235:in `block in transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:194:in `block in within_new_transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:191:in `within_new_transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:235:in `transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/transactions.rb:210:in `transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1298:in `ddl_transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1229:in `execute_migration_in_transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1201:in `block in migrate_without_lock'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1200:in `each'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1200:in `migrate_without_lock'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1150:in `migrate'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1007:in `up'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:985:in `migrate'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/tasks/database_tasks.rb:171:in `migrate'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/railties/databases.rake:58:in `block (2 levels) in <top (required)>'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/railties-5.1.4/lib/rails/commands/rake/rake_command.rb:21:in `block in perform'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/railties-5.1.4/lib/rails/commands/rake/rake_command.rb:18:in `perform'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/railties-5.1.4/lib/rails/command.rb:46:in `invoke'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/railties-5.1.4/lib/rails/commands.rb:16:in `<top (required)>'
/Users/MyComputer/Documents/Career Foundry/Achievement 3 - Basic Rails Web App/rubyapp/bin/rails:9:in `require'
/Users/MyComputer/Documents/Career Foundry/Achievement 3 - Basic Rails Web App/rubyapp/bin/rails:9:in `<top (required)>'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `load'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `call'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/spring-2.0.2/lib/spring/client/command.rb:7:in `call'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/spring-2.0.2/lib/spring/client.rb:30:in `run'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/spring-2.0.2/bin/spring:49:in `<top (required)>'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `load'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `<top (required)>'
/Users/MyComputer/Documents/Career Foundry/Achievement 3 - Basic Rails Web App/rubyapp/bin/spring:15:in `require'
/Users/MyComputer/Documents/Career Foundry/Achievement 3 - Basic Rails Web App/rubyapp/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'

Caused by:
SQLite3::ConstraintException: FOREIGN KEY constraint failed
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb:108:in `step'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb:108:in `block in each'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb:107:in `loop'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb:107:in `each'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:152:in `map'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:152:in `block in execute'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:95:in `prepare'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:137:in `execute'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/sqlite3_adapter.rb:251:in `block (2 levels) in execute'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activesupport-5.1.4/lib/active_support/dependencies/interlock.rb:46:in `block in permit_concurrent_loads'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activesupport-5.1.4/lib/active_support/concurrency/share_lock.rb:185:in `yield_shares'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activesupport-5.1.4/lib/active_support/dependencies/interlock.rb:45:in `permit_concurrent_loads'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/sqlite3_adapter.rb:250:in `block in execute'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:612:in `block (2 levels) in log'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:611:in `block in log'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activesupport-5.1.4/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:603:in `log'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/sqlite3_adapter.rb:249:in `execute'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract/schema_statements.rb:471:in `drop_table'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/sqlite3_adapter.rb:435:in `move_table'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/sqlite3_adapter.rb:427:in `block in alter_table'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:233:in `transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/sqlite3_adapter.rb:426:in `alter_table'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/sqlite3_adapter.rb:376:in `change_column'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:849:in `block in method_missing'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:818:in `block in say_with_time'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:818:in `say_with_time'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:838:in `method_missing'
/Users/MyComputer/Documents/Career Foundry/Achievement 3 - Basic Rails Web App/rubyapp/db/migrate/20180118162844_change_data_type_for_product_price.rb:3:in `change'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:792:in `exec_migration'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:776:in `block (2 levels) in migrate'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:775:in `block in migrate'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:408:in `with_connection'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:774:in `migrate'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:953:in `migrate'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1230:in `block in execute_migration_in_transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1298:in `block in ddl_transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:235:in `block in transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:194:in `block in within_new_transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:191:in `within_new_transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:235:in `transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/transactions.rb:210:in `transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1298:in `ddl_transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1229:in `execute_migration_in_transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1201:in `block in migrate_without_lock'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1200:in `each'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1200:in `migrate_without_lock'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1150:in `migrate'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:1007:in `up'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:985:in `migrate'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/tasks/database_tasks.rb:171:in `migrate'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/railties/databases.rake:58:in `block (2 levels) in <top (required)>'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/railties-5.1.4/lib/rails/commands/rake/rake_command.rb:21:in `block in perform'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/railties-5.1.4/lib/rails/commands/rake/rake_command.rb:18:in `perform'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/railties-5.1.4/lib/rails/command.rb:46:in `invoke'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/railties-5.1.4/lib/rails/commands.rb:16:in `<top (required)>'
/Users/MyComputer/Documents/Career Foundry/Achievement 3 - Basic Rails Web App/rubyapp/bin/rails:9:in `require'
/Users/MyComputer/Documents/Career Foundry/Achievement 3 - Basic Rails Web App/rubyapp/bin/rails:9:in `<top (required)>'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `load'
Computers MacBook Pro:rubyapp MyComputer$rails db:migrate
==2018018162844产品价格的变更数据类型:迁移====================
--更改列(:产品,:价格,:整数)
rails中止了!
StandardError:发生错误,此迁移和所有后续迁移已取消:
SQLite3::ConstraintException:外键约束失败:删除表“产品”
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb:108:在“步骤”中
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb:108:in`block in each'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb:107:in'loop'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb:107:在'each'中
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:152:在“地图”中
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:152:在“执行中的块”中
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:95:in“prepare”
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:137:in'execute'
/用户/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active\u record/connection\u adapters/sqlite3\u adapter.rb:251:在“执行”中的“块(2级)”中”
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activesupport-5.1.4/lib/active\u support/dependencies/interlock.rb:46:在“允许并发加载的块中”
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activesupport-5.1.4/lib/active\u-support/concurrency/share\u-lock.rb:185:in'yield\u shares'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activesupport-5.1.4/lib/active\u support/dependencies/interlock.rb:45:在“允许并发加载”中
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active\u record/connection\u adapters/sqlite3\u adapter.rb:250:在“执行中的块”中
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active\u record/connection\u adapters/abstract\u adapter.rb:612:在“日志中的块(2级)”中
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active\u record/connection\u adapters/abstract\u adapter.rb:611:在“日志中的块”中
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activesupport-5.1.4/lib/active\u support/notifications/instrumenter.rb:21:in'instrument'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active\u record/connection\u adapters/abstract\u adapter.rb:603:在“日志”中
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active\u record/connection\u adapters/sqlite3\u adapter.rb:249:in'execute'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active\u record/connection\u adapters/abstract/schema\u statements.rb:471:in'drop\u table'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active\u record/connection\u adapters/sqlite3\u adapter.rb:435:在“移动”表中
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active\u record/connection\u adapters/sqlite3\u adapter.rb:427:in`block in alter\u table'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active\u record/connection\u adapters/abstract/database\u语句。rb:233:在“事务”中
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active\u record/connection\u adapters/sqlite3\u adapter.rb:426:in'alter\u table'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active\u record/connection\u adapters/sqlite3\u adapter.rb:376:“更改”列中
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active\u record/migration.rb:849:“方法中的块丢失”
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active\u record/migration.rb:818:in`block in say_with_time'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active\u record/migration.rb:818:in“随时间说”
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active\u record/migration.rb:838:in'method\u missing'
/用户/MyComputer/Documents/Career Foundry/Acquisition 3-Basic Rails Web App/rubyapp/db/migrate/201801118162844产品价格的数据类型变化。rb:3:in“变化”
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active\u record/migration.rb:792:in'exec\u migration'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:776:migrate中的“块(2个级别)”中
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:775:在“迁移中的块”中
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active\u record/connection\u adapters/abstract/connection\u pool.rb:408:in'with\u connection'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active_record/migration.rb:774:in“migrate”
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active\u record/migration.rb:953:in“migrate”
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active\u record/migration.rb:1230:in`block in execute\u migration\u in\u transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active\u record/migration.rb:1298:in`block in ddl\u transaction'
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.4/lib/active\u record/connection\u adapters/abstract/database\u语句。rb:235:“事务中的块”中
/Users/MyComputer/.rvm/gems/ruby-2.4.1/gems/activ
rails g migration change_float_to_integer
class ChangeFloatToInteger< ActiveRecord::Migration[5.0]
    def change
        remove_column :products, :price

        add_column :products, :price, :integer
    end
end
rake db:migrate