ios - Brug af SchemaSpy til at visualisere en SQLite database (windows)

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at lave en sqlite dump med SchemaSpy.
Jeg fik SchemaSpy op og kører og kunne dumpe en MySQL database korrekt.


Nu har jeg en .sqlite-fil (fra et iOS-program) og en sqlite-driver fra Christian Werner (http://www.ch-werner.de/javasqlite/overview-summary.html). Et eksempel herover forklarer hvordan man arbejder med det, men for at være ærlig - jeg forstår ikke hvad jeg skal gøre. [7] [8]


Er der nogen der ved, hvordan jeg kan bruge SchemaSpy på Windows? Det er ikke nødvendigt for mig at bruge GUI-værktøjet.

Bedste reference


Jeg løb også ind i dette problem, men endelig fik det det til at fungere. Du har brug for DLL'en til SQLite-biblioteket.


Du kan downloade det her, og så kan du sætte det på system32-mappen på din Windows-installation (C: \ Windows \ System32 for eksempel) [9]


Endelig glem ikke at angive den nøjagtige JDBC-driversti:


java -jar… -dp "D:SchemaSpydriverj2sdk1.4.2\_03jrelibextsqlite.jar" …

Andre referencer 1


Jeg undrer mig over, hvorfor du skal få sqlite-driveren. Bare fortæl SchemaSpy din DB type er sqlite og du skal være okay. Noget som [10]


java -jar schemaSpy.jar -t sqlite -db < din fil > -o < output >

Andre referencer 2


Det er normalt bedst at få fat i den nyeste beta-version af SchemaSpy. Indkaldelsen skal ligner at køre mod MySQL, medmindre du angiver din database type med -t sqlite og peger 'databasen' til din .sqlite fil. [11]


SQLite-drivere bruger JNI til deres implementering, så du skal sørge for sqlite\_jni.dll er i din PATH. For midlertidigt at tilføje den til din PATH i en Windows-kommandoprompt:



  indstil PATH =\% PATH\%; directoryContainingTheJniDll


Andre referencer 3


Jeg er forfatteren af ​​en af ​​de artikler, du nævnte.


Du skal kompilere den schemaspy JDBC driver. Det var skrevet til UNIX, men nogen sendte forfatternoterne om at opbygge det i et Windows-miljø. Men der er et sæt filer til Windows forudbygget med sqlite.jar og .dll du har brug for. Når du har fået det på klassepaden, er det ligefrem. [12] [13]


Hvis dette er alt for meget for dig, kan du altid ophæve sqlite3 CLI og bruge kommandoen .schema til at dumpe tabellerne og sætte dem op i en database, du ved, hvordan du opretter forbindelse. Eller opsæt og Ubuntu VM;)

Andre referencer 4


Jeg er klar over, at dette er et gammelt spørgsmål, men det er muligt at lade SchemaSpy bruge Xerial SQLite JDBC-driveren uden store problemer ved at rulle en ny .properties-fil til den ved at følge instruktionerne på http:///schemaspy.sourceforge.net/dbtypes.html[14]


Alt du virkelig skal gøre er at kopiere de eksisterende sqlite.properties, omdøbe det til noget som sqlitexxperial.properties og ændre de relevante linjer; for eksempel:


driver=org.sqlite.JDBC


description=SQLite-Xerial


driverPath=sqlite-jdbc-3.7.2.jar


Xerial-driveren behøver ikke JNI DLL-filen og har også den fordel at opsamle konfigurerede FK-relationer korrekt - i hvert fald med SQLite 3-databasen, jeg har testet den mod.


Det kaster nogle advarsler til, når du refererer til tabeller eller kolonne navne, der også er nøgleord, men det kan være SchemaSpys skyld for ikke at indpakke dem i []. Eller skemadesigners 'Fejl ved brug af søgeord som tabel og kolonne navne: )