Cita:
Iniciado por agleiva Te comento cuál es mi workflow actual:
1 - Creo un proyecto
2 - Creo un modelo de datos fuertemente tipado sobre el cuál luego construiré la lógica de negocio.
3 - Agrego al proyecto las dependencias para poder utilizar Entity Framework y SQL Compact 4.0
4 - Ejecuto 3 comandos en una consola que generan la base de datos automáticamente según el modelo de datos.
5 - Commiteo el proyecto a Git.
6 - Los otros desarrolladores del equipo hacen pull del proyecto desde Git y ejecutan los mismos 3 comandos para crear cada uno su base de datos.
7 - Cuando hay un cambio en el modelo, EF me genera automáticamente los scripts de "Up" y "Down" para "subir" o "bajar" la versión de la base de datos. Estos también van al source control para que los demás puedan correrlo
8 - Cuando el proyecto está listo para pasar a testing/producción, cambio una sola línea de código y el connection string, y paso a usar MySQL (o bien SQL Server Express, dependiendo del proyecto), luego click derecho -> Deploy me sube el proyecto al servidor, junto con la base de datos.
Todo esto lo hago desde la comodidad de Visual Studio y no tengo que recurrir a ninguna herramienta externa, jamás. No dependo de servicios externos, excepto por el control de código que de cualquier manera es gratuito porque somos una empresa pequeña.
Como te comenté, esto lo resuelvo con EF. Además, la manera profesional de trabajar es usar control de código. Ni DropBox ni Mega son herramientas adecuadas para alojar código. Profesionalmente se usan herramientas como Git, TFS, Mercurial, y otros, que están diseñados específicamente para tal fin.
Como te comenté, esto lo resuelvo con Identity.
Esto lo hago con las herramientas de administración de SQL CE o SQL Server, otra vez, sin necesidad de servicios externos.
En fin, aunque suena interesante tu proyecto, no creo que sea muy aplicable para equipos de desarrollo que usan tecnologías modernas.
Me parecen demasiadas operaciones para el resultado final, incluso sin llegar a utilizar ningun webservice y desarrollando de manera estandar.
Git, subversion... perfecto para controlar versiones y trabajar en equipo. No es mi caso dado que siempre trabajo solo y en local hasta ahora.
No soy partidario de la tecnología de Microsoft en cuanto a herramientas de desarrollo. He trabajado en basic, c# y asp y tanto vb6 cono visual studio me parecen sdks muy cargados de opciones que nunca vas a utilizar. Con un sublime text me viene bien.
Otra idea que se me ocurre es implementar un sistema de forks de bases de datos. Tener una opcion de que una tabla tuya pueda ser pública y que otras personas puedan hacer forks de ellas, de manera que puedan disponer de tablas de municipios, paises u otro tipo de entidades de manera libre.
El mejor sitio que define mi idea es Podio (
https://podio.com/), en el creas tu organizacion, tus aplicaciones y defines tus campos. Puedes importar y exportar datos. Aquí la falla está en que no tienen una api rest que te de la posibilidad de usar los datos de podio en tus proyectos.