Heroku,Rails和ActiveUUID - Heroku使用旧的迁移文件?

时间:2015-07-14 18:50:23

标签: ruby-on-rails ruby git heroku

我得到了         PG :: UndefinedFunction:错误:函数uuid_generate_v4()不存在 当我尝试使用heroku rake db:migrate for my rails 4 app时出错。

我使用SQLite作为我的rails应用程序并想使用UUID,所以我安装了ActiveUUID gem。当我意识到我必须切换到Postgres for heroku时,我回去并从迁移文件中删除了ActiveUUID生成函数,所以我从这里开始:

     create_table :users, :id => false do |t|
     t.uuid :id, :primary_key => true, null: false, :limit => 32
     t.string :name, null: false

到此:

     create_table :users, :id => :uuid do |t|
     t.string :name, null: false

我还从gem文件中删除了ActiveUUID gem,并在我的所有模型中删除了对它的引用。接下来是git add。,git commit和git push heroku master。我甚至重新安装了heroku工具带,但我无法摆脱这个错误。

我在lib文件夹中也有一个UUID帮助文件。我删除了这个并推了推。但是,当我克隆了heroku repo的副本以查看其内容时,帮助文件仍然存在。

很抱歉,如果我错过了一些完全明显的东西。我在两天前学会了heroku的内容,而且我仍然是一个初学者用轨道。

1 个答案:

答案 0 :(得分:1)

在Postgres命令行中,输入:

Build fingerprint: 'Verizon/kltevzw/kltevzw:5.0/LRX21T/G900VVRU2BOE1:user/release-keys'
Revision: '14'
ABI: 'arm'
pid: 30968, tid: 30968, name: com.myapp >>> com.myapp <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Abort message: '[FATAL:jni_android.cc(295)] Check failed: false. Please include Java exception stack in crash report
'
r0 00000000 r1 000078f8 r2 00000006 r3 00000000
r4 b6f5c114 r5 00000006 r6 0000000b r7 0000010c
r8 b6f3be04 r9 bec21408 sl 00000000 fp bec213cc
ip 000078f8 sp bec20ee0 lr b6ee5fd1 pc b6f09970 cpsr 600f0010

backtrace:
#00 pc 00037970 /system/lib/libc.so (tgkill+12)
#01 pc 00013fcd /system/lib/libc.so (pthread_kill+52)
#02 pc 00014beb /system/lib/libc.so (raise+10)
#03 pc 00011531 /system/lib/libc.so (__libc_android_abort+36)
#04 pc 0000fcbc /system/lib/libc.so (abort+4)
#05 pc 002a7569 /data/app/com.google.android.webview-2/lib/arm/libwebviewchromium.so 

这将启用Postgres UUID扩展程序,以便它可供您使用。