2011-08-26 663 views
10

estoy trabajando a través de Michael excelente tutorial Hartl, pero cuando se trata de preparar la base de datos de prueba con el comando: paquete ejecutivo de rake db: test: preparar me sale este mensaje de error:¡rake abortado! ERROR: Debe ser propietario de la base de datos

ERROR : debe ser dueño de la base de datos sample_app_test ...

la que nunca llegué al utilizar la base de datos de desarrollo, porque había creado la siguiente función de base para mi aplicación Rails:

CREATE demo_app pAPEL CON ENTRADA CREATEDB

(esto está usando Postgresql)

¿Alguien entiende por qué esto está fallando en el entorno de prueba? TIA ...

+0

Olvidé agregar que estoy usando Rails 3.0.9, ruby ​​1.8.7 y Postgres 8.4.8, y que no he tenido ninguno de los problemas anteriores. – rixter

+2

¿Alguna vez descubrió esto? Me encuentro con el mismo problema – nicholaides

Respuesta

14

¿Ha asegurado la propiedad del DB de prueba? intente ejecutar el comando \l en el cliente de la consola Postgres y verifique las propiedades. también puede probar la siguiente consulta:

ALTER DATABASE sample_app_test OWNER TO demo_app;

+0

que olvidó el ';' al final de su declaración;) – Chris

1

primer puesto, escribiendo esto para la posteridad. Estaba teniendo el mismo problema pero pude solucionarlo. Solo debe asegurarse de estar/iniciado sesión como superusuario cuando cree sus bases de datos (o la que arroja el error).

que estaba ingresando a psql con este código:

sudo sudo -u postgres psql 

y creé mis bases de datos. Esto es malo. ¿Quieres iniciar sesión con las credenciales de superusuario:

sudo su - postgres 

Y a continuación, después de que haya iniciado sesión en postgres:

psql 

A continuación, crear sus bases de datos. Puede matar sus bases de datos antiguas con el comando

DROP DATABASE "database_to_drop"; 

Vuelva a crearlas y ¡ya debería estar listo para empezar!

Cuestiones relacionadas