小编Mor*_*n H的帖子

Rails BLOB/TEXT列在密钥规范中使用,没有密钥长度

我正在尝试运行rails迁移,我看到错误"密钥规范中使用的BLOB/TEXT列没有密钥长度"......但是,我在迁移类中指定了长度.从迁移生成SQL语句时,Rails似乎忽略了这一点.有线索吗?

这是我的迁移类:

class AddIndexToAccounts < ActiveRecord::Migration
def self.up
  add_index :TACCOUNT, :NAMEX, :length => 5
end
def self.down
  remove_index :TACCOUNT, :NAMEX
end
end
Run Code Online (Sandbox Code Playgroud)

这是错误输出.它似乎已经看到了长度规范,但它在它生成的SQL语句中不存在:

** [out :: 192.168.10.7] -- add_index(:TACCOUNT, :NAMEX, {:length=>5})
** [out :: 192.168.10.7] rake aborted!
** [out :: 192.168.10.7] An error has occurred, all later migrations canceled:
** [out :: 192.168.10.7] 
** [out :: 192.168.10.7] Mysql::Error: BLOB/TEXT column 'NAMEX' used in key specification without a key length: CREATE  INDEX `index_TACCOUNT_on_NAMEX` ON `TACCOUNT` (`NAMEX`)
Run Code Online (Sandbox Code Playgroud)

mysql ruby-on-rails rails-migrations

5
推荐指数
1
解决办法
5646
查看次数

mod_passenger中的乘客意外错误:无法连接到Unix套接字

我刚把我的rails应用程序移到了一台新机器上.我正在使用apache 2.2.3和乘客3.0.11.在初始加载数据库之后,我间歇性地看到一个错误,指出rails app无法启动.这是我在apache错误日志中看到的内容:

[Sun Mar 18 04:02:13 2012] [notice] Apache/2.2.3 (CentOS) configured -- resuming normal operations
[ pid=10788 thr=47366521234240 file=ext/apache2/Hooks.cpp:860 time=2012-03-18 08:51:10.215 ]: Unexpected error in mod_passenger: Cannot connect to Unix socket '/tmp/passenger.1.0.13044/generation-0/socket': No such file or directory (2)
Backtrace:
 in 'Passenger::ApplicationPool::Client* Passenger::ApplicationPool::Client::connect(const std::string&, const std::string&, const Passenger::StaticString&)' (Client.h:438)
 in 'Passenger::ApplicationPool::Client* Hooks::getApplicationPool()' (Hooks.cpp:266)
 in 'Passenger::SessionPtr Hooks::getSession(const Passenger::PoolOptions&)' (Hooks.cpp:292)
 in 'int Hooks::handleRequest(request_rec*)' (Hooks.cpp:561)
Run Code Online (Sandbox Code Playgroud)

我做了一些谷歌搜索,但我似乎只能找到乘客说升级乘客到版本3,但我已经在版本3.我也看到有人说改变logrotate脚本重新启动apache而不是重新加载,这对我没什么用.有人有什么想法吗?这是我乘客的阿帕奇.我正在使用rvm版本的ruby企业和乘客安装为gem:

LoadModule passenger_module /usr/local/rvm/gems/ree-1.8.7-2012.02/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/rvm/gems/ree-1.8.7-2012.02/gems/passenger-3.0.11
PassengerRuby /usr/local/rvm/wrappers/ree-1.8.7-2012.02/ruby
Run Code Online (Sandbox Code Playgroud)

我还尝试将rails spawn方法添加为保守并添加最大池大小,结果相同.不知道在哪里转.

apache ruby-on-rails passenger

4
推荐指数
1
解决办法
4144
查看次数