ruby Rails 3 -> Ahoy用户活动跟踪插件->安装错误

lkaoscv7  于 12个月前  发布在  Ruby
关注(0)|答案(1)|浏览(146)

我已经按照链接中的说明安装了宝石Ahoy-> https://github.com/ankane/ahoy
将这一行添加到应用程序的Gemfile中:

gem 'ahoy_matey'

并在jQuery后面的app/assets/javascripts/application.js中添加JavaScript文件。

//= require jquery
//= require ahoy

MySQL或SQLite
将activeuid添加到Gemfile。

gem 'activeuuid', '>= 0.5.0'

然后运行:

rails generate ahoy:stores:active_record
rake db:migrate

最后一个命令产生以下错误

rake db:migrate
==  CreateVisits: migrating ===================================================
-- create_table(:visits, {:id=>false})
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:

PG::UndefinedObject: ERROR:  type "binary" does not exist
LINE 1: CREATE TABLE "visits" ("id" binary(16) PRIMARY KEY, "visitor...
yptwkmov

yptwkmov1#

这是一个老问题,已经在Ahoy的最新版本中得到了解决。该错误消息表示MySQL数据库没有binary数据类型。要解决此错误,请尝试以下解决方案。
1.修改Ahoy迁移文件中id列的数据类型,由binary修改为bytea

create_table :visits, id: false do |t|
  t.bytea :id, limit: 16, primary_key: true
  # Other fields
end

1.或者在bundle install之后运行以下命令:

rails generate ahoy:install

1.跳过activeuuid gem和rails generate ahoy:stores:active_record命令,因为activeuuid gem仅适用于PostgreSQL。运行此命令以创建访问表:

rails generate ahoy:stores:sql

最后:

rails db:migrate

相关问题