Confirmar un LocalDB de SQL Server para el repository de GIT

Tengo un proyecto SOLO que se basa en las primeras frases y el layout en curso, y cambia el esquema en cualquier momento.

Y quiero comprometer los proyectos con los .MDF LocalDB .MDF y .LDF (less de 50 MB) para el REPO.

La razón por la que confirmo el localdb no es para el control de versiones, solo es copy de security.

Se trata de confirmar o clonar el repository y restaurar la database.

Pero, ¿debería hacer algo para que GIT se ocupe mejor de .MDF y .LDF ?

Por ejemplo, configure el parámetro en gitattribute para forzar a Git a considerar .MDF / .LDF como un file binary.

Un par de ideas:

  • Use una twig separada para almacenar estos files; de lo contrario, están versionados (con el rest de su proyecto).

    Puede usar el git checkout --orphan & plus; git rm -rf . para preparar una twig sin ascendencia Luego agrega solo estos dos files y confirma. Hazlo cada vez que tengas algo nuevo para "save".

    Puede search cualquier estado de estos files sin verificar la twig que los contiene haciendo algo como

     C:\> git show my_database_branch:LocalDB.MDF > LocalDB.MDF 
  • ¿Por qué usar twigs en absoluto? Git, por encima de cualquier otra cosa, es un set de herramientas para soportar el "sistema de files versionado", y puede almacenar en su database cualquier object que le indique; observar:

     C:\> git hash-object -w LocalDB.MDF 44931246e7973736c9635ea0b715c882b248297f C:\> git tag 44931 localdb.mdf C:\> git push origin -f localdb.mdf 

    o puede combinar los primeros dos pasos info uno (requiere Git Bash):

     $ git tag $(git hash-object -w LocalDB.MDF) localdb.mdf $ git push origin -f localdb.mdf 

    Es decir, tiene un object binary que contiene su file de database en la database de objects de Git, y tiene una label que hace reference a él. Puede empujar y recuperar esa label y recuperar los datos de ese object fácilmente:

     C:\> git show localdb.mdf > LocalDB.MDF 

    El beneficio de este enfoque es que, cuando luego decida hacer pública su historia, querrá embellecerla y pretender que esos files de database nunca se han confirmado. Si bien esto es factible si se han cometido normalmente, con todos los demás files, es difícil. Mantenerlos en una sucursal separada, o "directamente" en la database, hace las cosas mucho más fáciles: simplemente elimine la twig o las tags que hacen reference a estos files.

  • ¿Por qué no utilizar la capacidad de SQL Server Studio para exportar el esquema de la database (y los datos, si es necesario) como un script?

  • Tenga en count que Git LocalDB.MDF mayúsculas y minúsculas, por lo que nombrar files LocalDB.MDF es un problema. localdb.mdf nombre a localdb.mdf o algo así.