在运行rake迁移时遇到postgres错误

时间:2012-02-20 06:42:19

标签: ruby-on-rails ruby database postgresql rake

运行带有postgres作为后端的rails应用程序时,我收到以下uuid错误。有人可以帮我解决需要依赖的问题。

 [root@localhost webapp]# rake db:migrate
    (in /root/mysite/webapp)
    ==  CreateContributors: migrating =============================================
    -- create_table(:contributors, {:id=>false})
       -> 0.0121s
    -- execute("alter table contributors add primary key (id)")
    NOTICE:  ALTER TABLE / ADD PRIMARY KEY will create implicit index "contributors_pkey" for table "contributors"
       -> 0.0797s
    -- execute("alter table contributors alter column id set default uuid_generate_v1()::varchar")
    rake aborted!
    An error has occurred, this and all later migrations canceled:

    PGError: ERROR:  function uuid_generate_v1() does not exist
    HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
    : alter table contributors alter column id set default uuid_generate_v1()::varchar

1 个答案:

答案 0 :(得分:1)

uuid_generate_v1()函数是uuid-ossp package的一部分,你必须先将它安装到PostgreSQL中才能使用它。您应该在PostgreSQL uuid-ossp.sql目录中有一个名为contrib的文件。您可以使用以下命令安装软件包:

$ psql -d your_database < /the/path/to/uuid-ossp.sql

您可能希望将其作为数据库超级用户运行。