Rails rake db:在只读mysql数据库上中止迁移
我在使用Rails时遇到了一个问题,Rails rake db:在只读mysql数据库上中止迁移,mysql,ruby-on-rails,database,migration,rake,Mysql,Ruby On Rails,Database,Migration,Rake,我在使用Rails时遇到了一个问题,rakedb:migrate。我希望连接到现有的外部MySQL数据库,并已将我的database.yml配置为: default: &default adapter: mysql pool: 5 timeout: 5000 development: adapter: mysql host: [my_host] username: [my_user] password: [my_pass] database: [my_d
rakedb:migrate
。我希望连接到现有的外部MySQL数据库,并已将我的database.yml
配置为:
default: &default
adapter: mysql
pool: 5
timeout: 5000
development:
adapter: mysql
host: [my_host]
username: [my_user]
password: [my_pass]
database: [my_db]
test:
<<: *default
database: db/test.sqlite3
production:
<<: *default
database: db/production.sqlite3
我担心的是,当外部数据库为只读时,该命令将执行一些创建表的操作。有人知道如何通过或跳过db:migrate
?无论如何,我不会更新数据库中的任何东西
非常感谢您的回复。谢谢 在这里查看其中一个答案好的,非常感谢@jvnill的链接!我会深入探讨这个问题。嘿@jvnill,似乎其中一个答案对我来说是一种魔力。如果你愿意,请写下你的答案作为评论,我会接受并投票给你:)没有必要,我真的认为这是我链接的问题的重复,所以这个问题应该真的被关闭。可能的重复
Mac-User:rails-test user$ bin/rake db:migrate RAILS_ENV=development
rake aborted!
ActiveRecord::StatementInvalid: Mysql::Error: The MySQL server is running with the --read-only option so it cannot execute this statement: CREATE TABLE `schema_migrations` (`version` varchar(255) NOT NULL) ENGINE=InnoDB
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:303:in `query'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:303:in `block in execute'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/connection_adapters/abstract_adapter.rb:373:in `block in log'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activesupport-4.1.6/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/connection_adapters/abstract_adapter.rb:367:in `log'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:303:in `execute'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/connection_adapters/abstract/schema_statements.rb:205:in `create_table'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:460:in `create_table'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/schema_migration.rb:29:in `create_table'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/connection_adapters/abstract/schema_statements.rb:656:in `initialize_schema_migrations_table'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/migration.rb:918:in `initialize'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/migration.rb:807:in `new'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/migration.rb:807:in `up'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/migration.rb:785:in `migrate'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/railties/databases.rake:34:in `block (2 levels) in <top (required)>'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:241:in `load'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:241:in `block in load'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:232:in `load_dependency'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:241:in `load'
-e:1:in `<main>'
Mysql::Error: The MySQL server is running with the --read-only option so it cannot execute this statement
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:303:in `query'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:303:in `block in execute'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/connection_adapters/abstract_adapter.rb:373:in `block in log'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activesupport-4.1.6/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/connection_adapters/abstract_adapter.rb:367:in `log'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:303:in `execute'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/connection_adapters/abstract/schema_statements.rb:205:in `create_table'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:460:in `create_table'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/schema_migration.rb:29:in `create_table'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/connection_adapters/abstract/schema_statements.rb:656:in `initialize_schema_migrations_table'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/migration.rb:918:in `initialize'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/migration.rb:807:in `new'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/migration.rb:807:in `up'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/migration.rb:785:in `migrate'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/railties/databases.rake:34:in `block (2 levels) in <top (required)>'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:241:in `load'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:241:in `block in load'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:232:in `load_dependency'
/Users/ruma/.rvm/gems/ruby-2.1.3/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:241:in `load'
-e:1:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)