2010-01-26 18 views
7

Soy nuevo en la forma de hacer cosas de CouchDB. Entonces, tengo muchas preguntas al respecto, pero centrémonos en una de ellas.¿Cómo administrar el código de CouchDB?

CouchDB tiene este concepto de código javascript(validación + map-reducen + espectáculo +?) siendo escrito en los documentos de diseño. Esto es parte de la base de datos, como los procedimientos almacenados o desencadenantes son para bases de datos más tradicionales.

¿Hay alguien manteniendo este código dentro de un proyecto para que podamos probar este código como cualquier otro código javascript (a través de jspec por ejemplo, burlarse de las dependencias), versión en el mismo repositorio que versionamos el resto de nuestro código, probablemente en una carpeta separada ... ¿es posible y usado? ¿O no es bueno por alguna razón que debería saber?

Lo que me gustaría es una forma de hacer una sola tarea de rake y mis documentos de diseño de couchdb se sincronizan con el proyecto, algo así podría ser útil.

En el caso de ruby, sería útil también hacer algo de magia dinámica (por ejemplo, vistas y validaciones por defecto, nuevas vistas mediante el uso de ámbitos con nombre).

+0

Voy a ver este proyecto lo antes posible: http://github.com/eee-c/couch_docs/tree/master/spec/ –

Respuesta

4

Salida CouchApp: http://github.com/couchapp/couchapp

Es un conjunto de scripts de Python que tienen un sistema de archivos estructurado de archivos js (entre otros) y lo convierte en un bien formado Diseño Doc.

(Perdón si he entendido bien su pregunta)

+0

Hay al menos otra implementación de este concepto, que en realidad acabo de terminar la inicial pico de - usando clojure: http://github.com/cemerick/clutch/commits/clutchapp Una adición que añadí que couchapp no ​​proporciona actualmente es una manera fácil de clonar todos los documentos de diseño encontrados en una base de datos particular y/o couchdb instalar en el disco. Aclamaciones, – cemerick

0

Sí, mantenemos nuestro código de la vista en los archivos y el registro en a git y luego usar un script de sincronización para empujarlos a la producción una vez que estamos seguros de que funcionan .

Cuestiones relacionadas