fix bug in ddl template fro ddl
This commit is contained in:
parent
992665f9ec
commit
f75c6f72f4
@ -241,7 +241,10 @@ class DBPools:
|
|||||||
cur = await conn.cursor()
|
cur = await conn.cursor()
|
||||||
return True,conn,cur
|
return True,conn,cur
|
||||||
else:
|
else:
|
||||||
conn = driver.connect(**dbdesc.kwargs)
|
if dbdesc['driver'] == 'sqlite3':
|
||||||
|
conn = driver.connect(dbdesc['kwargs']['dbname'])
|
||||||
|
else:
|
||||||
|
conn = driver.connect(**dbdesc['kwargs'])
|
||||||
cur = conn.cursor()
|
cur = conn.cursor()
|
||||||
return False,conn,cur
|
return False,conn,cur
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
sqlite_ddl_tmpl = """{% macro typeStr(type,len,dec) %}
|
sqlite3_ddl_tmpl = """{% macro typeStr(type,len,dec) %}
|
||||||
{%- if type in ['str', 'char', 'date', 'time', 'datetime', 'timestamp'] -%}
|
{%- if type in ['str', 'char', 'date', 'time', 'datetime', 'timestamp'] -%}
|
||||||
TEXT
|
TEXT
|
||||||
{%- elif type in ['long', 'int', 'short', 'longlong' ] -%}
|
{%- elif type in ['long', 'int', 'short', 'longlong' ] -%}
|
||||||
@ -23,7 +23,7 @@ drop table if exists {{summary[0].name}};
|
|||||||
CREATE TABLE {{summary[0].name}}
|
CREATE TABLE {{summary[0].name}}
|
||||||
(
|
(
|
||||||
{% for field in fields %}
|
{% for field in fields %}
|
||||||
`{{field.name}}` {{typeStr(field.type,field.length,field.dec)}} {{nullStr(field.nullable)}} {%if field.title -%} -- {{field.title}}{%- endif %}{%- if not loop.last -%},{%- endif -%}
|
`{{field.name}}` {{typeStr(field.type,field.length,field.dec)}} {{nullStr(field.nullable)}}{%- if not loop.last -%},{%- endif -%} {%if field.title -%} -- {{field.title}}{%- endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% if summary[0].primary and len(summary[0].primary)>0 %}
|
{% if summary[0].primary and len(summary[0].primary)>0 %}
|
||||||
{{primary()}}
|
{{primary()}}
|
||||||
|
@ -1,36 +0,0 @@
|
|||||||
|
|
||||||
import sys
|
|
||||||
import os
|
|
||||||
import asyncio
|
|
||||||
from sqlor.dbpools import DBPools
|
|
||||||
|
|
||||||
async def exesqls(sqllines):
|
|
||||||
sqls = txt.split(';')
|
|
||||||
async with DBpools.sqlorContext('db') as sor:
|
|
||||||
for sql in sqls:
|
|
||||||
await sor.sqlExe(sql, {})
|
|
||||||
|
|
||||||
async def main():
|
|
||||||
with codecs.open(sys.argv[2],'r', 'utf-8') as f:
|
|
||||||
txt = f.read()
|
|
||||||
await exesql(txt)
|
|
||||||
|
|
||||||
dbs = {
|
|
||||||
"db":{
|
|
||||||
"driver":"sqlite3",
|
|
||||||
"kwargs":{
|
|
||||||
"dbname":sys.argv[1]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
if len(sys.argv) < 3:
|
|
||||||
print(f'Usage:{sys.argv[0]} sqlite3_db_file sqlfile')
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
DBPools(dbs)
|
|
||||||
loop = asyncio.get_event_loop()
|
|
||||||
loop.run_until_complete(main())
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user