令人惊讶的是,Rails的初始化程序在运行任何rake任务时运行,包括 db:migrate 和 db:seed 。
It is very surprising that Rails's initializers run while running any rake task, including db:migrate and db:seed.
我的应用程序中的初始化程序启动了后台线程(一种工作进程),并且仅当应用程序在调试和生产模式下运行时才应执行
An initializer in my app starts a background thread (a kind of worker process), and it should be executed only when the application is running in debug and production mode.
在执行 rake db:migrate 时如何防止特定的初始化程序运行,或者如何在初始化程序中进行检测一个rake任务正在运行?
How to prevent a specific initializer from running when doing rake db:migrate or how to detect in initializer that a rake task is running?
推荐答案以下是一种解决方案,用于防止初始化程序在Rake任务中运行:
Here is a solution how to prevent an initializer from running in Rake task:
unless ( File.basename($0) == 'rake') # Initializer code end更多推荐
Rails初始化程序正在迁移数据库时运行
发布评论