Repository navigation
Expand file tree
/
Copy pathsqlite.py
More file actions
executable file
·63 lines (46 loc) · 1.45 KB
/
Copy pathsqlite.py
File metadata and controls
executable file
·63 lines (46 loc) · 1.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Convert file existing_db.db to SQL dump file dump.sql
import sqlite3
import exporter as ex
modelos = []
file = "example.sqlite"
# file = input("Nome do arquivo sqlite: ")
# recebe modelo e nome da tabela
def addProperties(modelo):
# this works beautifully given that you know the table name
conne = sqlite3.connect(file)
# conn.row_factory = lambda cursor, row: row[0]
c = conne.cursor()
c.execute("PRAGMA table_info(" + modelo.name + ");")
lista = []
for row in c:
p = ex.Propriedade()
p.name = row[1]
p.tipo = row[2]
# TODO: get default value from database
p.valor = str(0)
lista.append(p)
# print("Propriedade " + p.name + " foi criada.")
ex.sucesso("Propriedade " + p.name + " foi criada.")
modelo.propriedades = lista
# modelo.addproperty(p)
# print(row[1] + " - " + row[2])
con = sqlite3.connect(file)
con.row_factory = lambda cursor, row: row[0]
cc = con.cursor()
cc.execute("SELECT name FROM sqlite_master WHERE type='table';")
# print(cursor.fetchall())
for tabela in cc:
# se for esta 'sqlite_sequence' pula
if tabela.lower() != 'sqlite_sequence':
modelo = ex.Modelo()
modelo.name = tabela
print("Class 'Model' chamada " + modelo.name + " foi criada.");
addProperties(modelo)
# for p in names:
# print(p)
modelos.append(modelo)
for modelo in modelos:
ex.whileMethods(modelo)
ex.gerarExport(modelo)