Advertisement
rhessellund

clever-test/0.create.db.py

Jan 7th, 2023 (edited)
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.80 KB | None | 0 0
  1. #!/usr/bin/env python3
  2. #
  3. import sqlite3
  4.  
  5. con = sqlite3.connect("/home/azureuser/clever/clever.db")
  6.  
  7. cur = con.cursor()
  8.  
  9. sql = '''
  10. BEGIN TRANSACTION;
  11. CREATE TABLE Config (
  12. var TEXT primary key,
  13. value TEXT);
  14. INSERT INTO Config VALUES('email','');
  15. INSERT INTO Config VALUES('secretCode','');
  16. INSERT INTO Config VALUES('userSecret','');
  17. INSERT INTO Config VALUES('dayCode','');
  18. INSERT INTO Config VALUES('connectorId','');
  19. INSERT INTO Config VALUES('chargeBoxId','');
  20. INSERT INTO Config VALUES('lastHistoryDL','');
  21. INSERT INTO Config VALUES('lastCodeRenew','');
  22. CREATE TABLE CleverHistory (
  23. chargePointId TEXT,
  24. connectorId INT,
  25. transactionId INT,
  26. idTag TEXT,
  27. startTimeLocal INT,
  28. stopTimeLocal INT,
  29. startTimeUtc INT,
  30. stopTimeUtc INT,
  31. kWh REAL,
  32. idTokenSubscriptionLineId TEXT
  33. );
  34. CREATE TABLE CleverCharging(
  35. status TEXT,
  36. timestamp TEXT,
  37. transactionId INT,
  38. consumedWh REAL,
  39. started TEXT,
  40. cardNumber TEXT,
  41. latestConsumptionWh REAL
  42. );
  43. CREATE UNIQUE INDEX CleverHistoryStartTimeUTCUnique on CleverHistory(startTimeUtc);
  44. CREATE UNIQUE INDEX CleverHistoryUnique on CleverHistory(startTimeUtc,stopTimeUtc);
  45. CREATE INDEX CleverHistoryTransaction on CleverHistory(transactionId);
  46. CREATE INDEX CleverHistoryStartTimeLocal on CleverHistory(startTimeLocal);
  47. CREATE INDEX CleverHistoryStopTimeUTC on CleverHistory(stopTimeUtc);
  48. CREATE INDEX CleverHistoryStopTimeLocal on CleverHistory(stopTimeLocal);
  49. CREATE UNIQUE INDEX CleverChargingUnique on CleverCharging(timestamp,started,transactionId,consumedWh);
  50. CREATE INDEX CleverChargingTransaction on CleverCharging(transactionId);
  51. CREATE INDEX CleverChargingTimeStamp on CleverCharging(timestamp);
  52. CREATE INDEX CleverChargingStarted on CleverCharging(started,timestamp);
  53. COMMIT;
  54. '''
  55.  
  56. for x in sql.split(";"):
  57.     cur.execute(x+";")
  58.  
  59. con.commit()
  60. con.close()
  61.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement