cermo-lit.ru

  

Bästa artiklarna:

  
Main / Hur man använder graphviz med schemaspy tutorial

Hur man använder graphviz med schemaspy-handledning

En av de största utmaningarna som utvecklare och mjukvaruprojektledare har svårt med är hur man håller dokumentationen synkroniserad med kodelementen. Även om det finns en stor mängd verktyg som gör det möjligt att skapa dokumentation baserat på kodkommentarer i. Nu finns det verktyg som kommer att dokumentera en databas efter det eller kommer att skapa databasen baserat på dokumentationen du skapar, många är mycket dyra eller verkar inte längre stödja.

Ett verktyg som jag nyligen har börjat använda för databasdokumentation rekommenderades i boken The Productive Programmer av Neal Ford. Verktyget kallas SchemaSpy. För korthetens skull kommer detta inlägg att beskriva hur man skapar databasdokumentation för endast Microsoft SqlServer 2000 och 2005-databaser med SchemaSpy.

SchemaSpy är ett Java-kommandoradsprogram som ansluter till din databas och genererar information om tabellerna och deras relation.

SchemaSpy adresserar inte några databasprogrammeringselement i. Funktioner, utlösare, lagrade procedurer etc. Det utvärderar också dina index och nycklar för att skapa relationsdiagram. Dessutom hämtar den information från databastabellerna för att ge dig en bild av antalet poster, typerna av kolumner och en stor mängd annan information för den. Förutom stor mängd information ger den också avisering om det finns några avvikelser i schemat; såsom underförstådda förhållanden mellan kolumner, inga begränsningar för främmande nycklar, tabeller utan index, kolumner markerade som både "null" och "måste vara unika", enstaka kolumntabeller och mer.

Nedan följer några skärmdumpar av dokumentationen som SchemaSpy skapar för Northwind-databasen. Figur 1: SchemaSpys indexsida för Northwind Database. Figur 2: Ett exempel på de diagramförhållanden som SchemaSpy producerar. Från och med det här inlägget fungerar SchemaSpy bara med 1. Driver-jar-filen kan lagras i andra kataloger; dock måste en ytterligare kommandoparameter skickas till SchemaSpy om du ser nedan.

Vid det här laget är det enda som finns kvar att köra SchemaSpy med rätt kommandoradsargument. Efter att alla ovanstående komponenter har installerats kan du köra SchemaSpy från en kommandotolk med följande allmänna syntax :. Om dina projekt använder Sql Servers integrationsautentiseringsalternativ kan du använda alternativet -sso. Med alternativet -sso kan du ta bort både användarnamnet -u och lösenord -p-parametrarna och använda identiteten på det konto som används för att kallas Java Runtime Environment.

Om vi ​​ändrar exemplet ovan för att använda integrerad autentisering får vi följande :. Om jag arbetade med att dokumentera en databas som jag skapade för ett projekt i mitt lokala system med SQL Server 2005 Express Edition, skulle det alltid ge mig ett fel om att datatypen "variant" inte stöds. Efter mycket forskning och försök och fel, det enda resultatet kunde jag bara få detta att fungera med JTDS-drivrutinen. När du installerar Microsoft SQL Server har du möjlighet att installera den som en fristående tjänst eller en namngiven instans.

I händelse av en namngiven instans ansluter du normalt till den i din. För att ansluta till en namngiven instansdatabas med SchemaSpy behöver du inte databasens instansnamn bara servernamnet som om det inte var en instans, och du måste använda databasens TCP Dynamic Port istället för den typiska 1433 Dina steg kan variera beroende på konfiguration. SchemaSpy är ett verktyg som jag har använt för att hjälpa till med några av de dokumentationssmärtor som jag har upplevt på några av mina personliga och professionella projekt.

Att kunna lägga till kommandot i ett byggskript för att automatiskt hålla dokumentationen uppdaterad är en enorm tidsbesparing och är ovärderlig när människor migrerar till projektet.

Jag hoppas att du tycker att det är lika användbart som jag har, och för att hjälpa dig vidare har jag lagt till en enkel steg-för-steg-guide för att ställa in och börja använda SchemaSpy nedan. Bra inlägg! Jag måste testa detta i mitt nästa projekt. Det var ett bra inlägg. Jag kan generera dokumentationen med de steg som du föreslog men inga databasdiagram genereras. Jag får en "misslyckades med att fråga Graphviz-versioninformation: Kan inte köra programmet" dot ": Någon aning om vad jag skulle kunna göra fel ?? Jag kan inte producera schema för: Oväntad parameter": Pepe Jag är inte så bekant med Sybase ; dock kan du kontakta John Currier på SourceForge så kan han hjälpa dig.

Han är den främsta utvecklaren och samordnaren för projektet och borde kunna fixa det för dig om det verkligen är ett fel. Kontakta John Currier via SourceForge. Kan jag använda Schema spy för att köra mot SQL Server 2008?

Hui Shi Det är en bra fråga. Jag kör några tester för att se vad som krävs för att ansluta till SQL 2008 och lägga upp informationen här eller i ett uppföljningsinlägg. Tack för att du publicerade en så extremt välskriven artikel. Jag hade ingen aning om att SchemaSpy hade hänvisats till i en annan bok! Pepe That bug löstes i Subversion revision 535. Jag måste ta hand om mig och publicera en ny version, men under tiden kan du ta den senaste betaversionen på http: Jag kan inte logga in.

Stöder programmet när du behöver ange en domän? Det gick inte att ansluta till databas-URL [jdbc: Hej, vilka behörigheter behöver användaren ha. Det gick inte att hämta tabellkommentarer: Ogiltigt objektnamn 'sysproperties'. Schemat finns inte i databasen. Observera att schemanamn vanligtvis är skiftlägeskänsliga. Några av dessa "scheman" kan vara användare eller systemscheman. Ditt avsnitt angående JTDS vs. JDBC räddade mitt liv. Jag använde JDBC och fick hela tiden felet "Variantdatatyp stöds inte".

Kanske hittar du intressant ett annat blogginlägg om skapande av diagram ur. Tack så mycket för den här informationen. Det vore väldigt trevligt om någon har ett tydligt svar på detta: Jag använder JTDS 1. Inloggningen misslyckades för användaren 'sa'. Hamnen är korrekt. Hjälp är mycket välkommen tack på förhand. Nedanstående förslag gavs via en e-postkonversation. Jag tänkte att jag skulle lägga upp dem här oavsett för läsare. Kontrollera att du kan ansluta till databasen med "sa" -kontot i Sql Server 2008 Management Studio.

Normalt rekommenderas inte att använda sa-kontot av säkerhetsskäl, så ett annat alternativ skulle vara att skapa ett annat användarkonto för databasen och ansluta med det. Ett annat alternativ är att försöka använda enkel skylt på -sso istället för att ange ett användarnamn och lösenord. NullPointerException "Någon idé? Tyvärr kan jag inte återge det beteende du ser när jag använder dina versionsuppgifter.

Om du kör betaversionen http: John http: Om du behöver göra om databasdiagram regelbundet har jag hittat ett GUI som lagrar alla parametrar ... Vad är SchemaSpy? Vad producerar SchemaSpy? SchemaSpy kräver att fyra separata komponenter installeras för att fungera korrekt: SchemaSpy-applikationen själv version 4.

Köra SchemaSpy När alla ovanstående komponenter har installerats kan du köra SchemaSpy från en kommandotolk med följande allmänna syntax: Detta identifierar vilken typ av databas vi använder. Detta krävs av vår typ. Det betyder vilken databasserver du ska ansluta till. Detta betyder vilken port som ska anslutas till databasen. Detta kommer inte alltid att vara 1433 se nedan.

Detta berättar för SchemaSpy vilken databas som ska diagram för oss. Detta berättar för SchemaSpy databasens användarnamn att logga in med. Detta berättar SchemaSpy databasanvändarens lösenord att logga in med. Detta berättar SchemaSpy vilket schema du ska läsa och diagram. Användaruppgifterna som tillhandahålls måste ha åtkomst till åtminstone läsa detta schema. Detta berättar för SchemaSpy att utdatakatalogen ska generera dokumentationen.

Detta berättar för SchemaSpy sökvägen för att lokalisera databasdrivrutinsfilen som inte används i det här exemplet. Ett exempel på ett fullständigt slutfört kommando: Ändra exemplet ovan för att använda integrerad autentisering får vi följande: Hur man använder SchemaSpy för att bilda en namngiven instans vid installation av Microsoft SQL Server, du har möjlighet att installera den som en fristående tjänst eller en namngiven instans.

(с) 2019 cermo-lit.ru