运行带有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
答案 0 :(得分:1)
uuid_generate_v1()
函数是uuid-ossp package的一部分,你必须先将它安装到PostgreSQL中才能使用它。您应该在PostgreSQL uuid-ossp.sql
目录中有一个名为contrib
的文件。您可以使用以下命令安装软件包:
$ psql -d your_database < /the/path/to/uuid-ossp.sql
您可能希望将其作为数据库超级用户运行。