gpt4 book ai didi

ruby-on-rails - Rails rake 数据库 :migrate doesn't work: nothing happens

转载 作者:数据小太阳 更新时间:2023-10-29 08:20:11 24 4
gpt4 key购买 nike

在我计算机上的每个 Rails 项目中,自从我重新安装它后,我无法运行任何迁移:当我在终端中输入 rake db:migrate 时没有任何反应

$ my_project ➜ rails g migration fake_migration

invoke active_record
create db/migrate/20140806092408_fake_migration.rb

$ my_project ➜ rake db:migrate:status

database: /Users/me/Documents/my_project/db/development.sqlite3

Status Migration ID Migration Name
--------------------------------------------------
down 20140806092408 Fake migration

$ my_project ➜ rake db:migrate

** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke db:load_config (first_time)
** Execute db:load_config
** Execute db:migrate
** Invoke db:_dump (first_time)
** Execute db:_dump
** Invoke db:schema:dump (first_time)
** Invoke environment
** Invoke db:load_config
** Execute db:schema:dump

$ my_project ➜ rake db:migrate:status

database: /Users/me/Documents/my_project/db/development.sqlite3

Status Migration ID Migration Name
--------------------------------------------------
down 20140806092408 Fake migration

当我尝试手动迁移时(如评论中所建议):

$ my_project ➜ rake db:migrate:up VERSION=20140806092408 --trace

rake aborted!
ActiveRecord::UnknownMigrationVersionError:

No migration with version number 20140806092408

/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activerecord-4.1.4/lib/active_record/migration.rb:933:in `run'
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activerecord-4.1.4/lib/active_record/migration.rb:818:in `run'
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activerecord-4.1.4/lib/active_record/railties/databases.rake:71:in `block (3 levels) in <top (required)>'
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:240:in `call'
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:240:in `block in execute'
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:235:in `each'
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:235:in `execute'
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/Users/me/.rbenv/versions/2.1.2/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:165:in `invoke'
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:150:in `invoke_task'
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:in `each'
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:in `block in top_level'
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:115:in `run_with_threads'
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:100:in `top_level'
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:78:in `block in run'
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:176:in `standard_exception_handling'
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:75:in `run'
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/bin/rake:33:in `<top (required)>'
/Users/me/.rbenv/versions/2.1.2/bin/rake:23:in `load'
/Users/me/.rbenv/versions/2.1.2/bin/rake:23:in `<main>'
Tasks: TOP => db:migrate:up

最佳答案

如果有人遇到这个问题,请留意您的环境变量。如果您定义了一个名为“VERSION”的环境变量,它将阻止迁移任务。

我使用 dotenv gem 来管理 railsn 的本地开发环境变量,当我删除一个名为 VERSION 的 var(我创建它是为了管理 API 版本)时,迁移按预期进行。

关于ruby-on-rails - Rails rake 数据库 :migrate doesn't work: nothing happens,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25141782/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com