我之前看到过这个问题,但仅限于rspec.我还没有进行测试,因为它对我来说太进步了,但有一天我会尽快!:P
当我尝试使用我的应用注册/登录时出现此错误.我不知道在哪里修理它.我使用devise来创建我的用户,并使用omniauth2来登录谷歌.
这是错误
ActiveRecord::StatementInvalid at /users/auth/google_oauth2/callback
PG::UndefinedTable: ERROR: relation "users" does not exist
LINE 5: WHERE a.attrelid = '"users"'::regclass
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"users"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
Run Code Online (Sandbox Code Playgroud)
我试过rake db:migrate
,但它已经创建,在架构表中存在用户.有没有人以前得到这个错误?
database.yml的
# gem install pg -- --with-pg-config=/opt/local/lib/postgresql84/bin/pg_config
# On Windows:
# …
Run Code Online (Sandbox Code Playgroud) 在 Rails 中,您可能希望您的环境在启动时做不同的事情,这取决于您是否正在运行 rake 任务。例如,我的用例是在应用程序启动时将数百 MB 的缓存加载到内存中。我们显然不希望这种情况发生在 rake 命令上。
---更新--- 以下是可靠的解决方案,适用于heroku。
is_rake = (ENV['RACK_ENV'].blank? || ENV['RAILS_ENV'].blank? || !("#{ENV.inspect}" =~ /worker/i).blank?)
Run Code Online (Sandbox Code Playgroud) 如何正确初始化需要实例化插件本身定义的模型(读取数据库记录)的Redmine插件?
例如,我有一个my_redmine_plugin
附带模型的插件MyPluginModel
.关于插件初始化,我想
MyPluginModel
从DB 读取记录给出以下代码:
require 'redmine'
Redmine::Plugin.register :my_redmine_plugin do
name 'My Redmine Plugin'
# ...
end
Rails.configuration.to_prepare do
m = MyPluginModel.find(1)
run_some_init_code(m)
end
Run Code Online (Sandbox Code Playgroud)
它看起来像to_prepare
在迁移之前运行:
$ bundle exec rake redmine:plugins:migrate NAME=my_redmine_plugin
`table_structure': Could not find table 'mypluginmodel' (ActiveRecord::StatementInvalid)
...
Run Code Online (Sandbox Code Playgroud)
当我to_prepare
在迁移期间注释掉块时,一切正常.有没有办法检测迁移过程?
ruby-on-rails redmine redmine-plugins ruby-on-rails-4 rails-activerecord
我收到以下错误消息,不知道如何解决它.有人可以帮忙吗?
NoMethodError:未定义的方法`needs_migration?' 对于ActiveRecord :: Migrator:Class
这是config.ru代码:
require './config/environment'
if ActiveRecord::Migrator.needs_migration?
raise 'Migrations are pending. Run `rake db:migrate` to resolve the issue.'
end
use Rack::MethodOverride
use UsersController
use ArtworkController
run ApplicationController
Run Code Online (Sandbox Code Playgroud)