Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2018
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.94 KB | None | 0 0
  1. ########################################################################################################################
  2. #    File: main.py
  3. # Purpose:
  4. #  Author: Dan Huckson, https://github.com/unodan
  5. ########################################################################################################################
  6. from dbslave.interface import *
  7. import sqlparse
  8.  
  9. def main():
  10.     '''
  11.    sql = 'select * from "someschema"."mytable" where id = 1'
  12.  
  13.    parsed = sqlparse.parse(sql)
  14.    stmt = parsed[0]
  15.    print(sqlparse.format(sql, reindent=True, keyword_case='upper'))
  16.    print("SS", parsed[0], )
  17.  
  18.    for i in stmt.tokens:
  19.        print(i)
  20.  
  21.    print(str(stmt))
  22.    '''
  23.  
  24.     appName = 'TestDBSlave'
  25.     dbName = appName
  26.  
  27.     table1 = {
  28.         'users1': 'id SERIAL, '
  29.                  'fName VARCHAR(30) NOT NULL, lName VARCHAR(30) NOT NULL',
  30.  
  31.         'users2': 'id SERIAL, '
  32.                  'fName VARCHAR(30) NOT NULL, lName VARCHAR(30) NOT NULL'
  33.     }
  34.  
  35.     table2 = {
  36.         'users1': 'id INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL, '
  37.                  'fName VARCHAR(30) NOT NULL, lName VARCHAR(30) NOT NULL',
  38.  
  39.         'users2': 'id INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL, '
  40.                  'fName VARCHAR(30) NOT NULL, lName VARCHAR(30) NOT NULL'
  41.     }
  42.  
  43.     table3 = {
  44.         'users1': 'id INT IDENTITY(1,1), '
  45.                  'fName NVARCHAR(30), lName NVARCHAR(30)',
  46.  
  47.         'users2': 'id INT IDENTITY(1,1), '
  48.                  'fName NVARCHAR(30), lName NVARCHAR(30)'
  49.     }
  50.  
  51.     table4 = {
  52.         'users1': 'id INTEGER PRIMARY KEY, '
  53.                  'fName VARCHAR(30) NOT NULL, lName VARCHAR(30) NOT NULL',
  54.  
  55.         'users2': 'id INTEGER PRIMARY KEY, '
  56.                  'fName VARCHAR(30) NOT NULL, lName VARCHAR(30) NOT NULL'
  57.     }
  58.  
  59.     tables = table4
  60.  
  61.     #db = new_engine('postgres://dan:password@localhost:5432/' + dbName + '/utf8')
  62.     #db = new_engine('mysql://dan:password@localhost:3306/' + dbName + '/utf8')
  63.     #db = new_engine('mssql://sa:password@beta.dyncomp.local:1433/' + dbName + '/utf8')
  64.     db = new_engine('sqlite:///' + dbName + '/utf8')
  65.  
  66.     host = 'localhost'
  67.     if 'host' in db.credentials:
  68.         host = db.credentials["host"]
  69.  
  70.     if db.connect():
  71.         #if db.database_exist(dbName):
  72.         #    db.drop_database(dbName)
  73.  
  74.         if not db.database_exist(dbName):
  75.             db.create_database(dbName)
  76.  
  77.         if db.use(dbName):
  78.             print('Connected to [{}] using database [{}] via [{}]'.format(host, dbName, db.credentials["dialect"]))
  79.         else:
  80.             print('Could not connected to database {}'.format(dbName))
  81.  
  82.         for t in tables:
  83.             if not db.table_exist(t):
  84.                 db.create_table(t, tables[t])
  85.  
  86.         if db.index_exist('users1', 'idx_fName'):
  87.             print("Yes it's here dropping it now!")
  88.             db.drop_index('users1', 'idx_fName')
  89.         else:
  90.             print("No it's not here creating it now!")
  91.             db.create_index('users1', 'fName', 'idx_fName')
  92.  
  93.         if db.index_exist('users1', 'idx_fName'):
  94.             print("Yep and it's still here too!")
  95.         else:
  96.             print("It's not here anymore!")
  97.  
  98.         fields = {'fName': 'Dan', 'lName': 'Huckson'}
  99.         fields2 = {'fName': 'Daniel', 'lName': 'Huckson'}
  100.  
  101.         db.update_row('users1', fields2, 1)
  102.         db.insert_row('users1', fields)
  103.         db.delete_row('users1', 10)
  104.         db.drop_table('users2')
  105.  
  106.         db.execute('UPDATE users1 SET fName=%s,lName=%s WHERE id=%s', ('Danny', 'Huckson', 3))
  107.  
  108.         if db.execute('SELECT * FROM users1;'):
  109.             for r in db.fetchall():
  110.                 print('ROW:', r)
  111.  
  112.         if db.row_exist('users1', 7):
  113.             print('YES it is there')
  114.         else:
  115.             print('Nope not there')
  116.  
  117.         #db.dump(dbName)
  118.  
  119.         db.close()
  120.     else:
  121.         print("Error: Could not connect to (%s)." % dbName)
  122.  
  123.  
  124. if __name__ == '__main__':
  125.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement