from minibase.app import db, create_app, bcrypt from minibase.blueprints.user.models import Users, User_Roles from minibase.blueprints.company.models import Companies, Company_types, Company_legal_entities, Industries, Company_relations, Company_status from minibase.blueprints.main.models import Notes from minibase.blueprints.sensor.models import nbiotDevice, nbiotDeviceArea, nbiotDeviceType, nbiotDeviceStatus import csv import os app = create_app() app.app_context().push() status = db.drop_all() status = db.create_all() static_dir = "init/static/" def uploadCsvOnlyName(table): file = static_dir + "csv/" + str(table.__tablename__) + ".csv" with open(file) as f: reader = csv.reader(f) header = next(reader) for i in reader: kwargs = {column: value for column, value in zip(header, i)} new_entry = table(**kwargs) db.session.add(new_entry) db.session.commit() def uploadCsv(filename, table): with open(filename) as f: reader = csv.reader(f) header = next(reader) for i in reader: kwargs = {column: value for column, value in zip(header, i)} new_entry = table(**kwargs) db.session.add(new_entry) db.session.commit() def initDatabase(): uploadCsvOnlyName(Companies) uploadCsvOnlyName(Company_types) uploadCsvOnlyName(Company_status) uploadCsvOnlyName(Company_relations) uploadCsvOnlyName(Company_legal_entities) uploadCsvOnlyName(Industries) uploadCsvOnlyName(User_Roles) uploadCsvOnlyName(Notes) uploadCsvOnlyName(nbiotDeviceStatus) uploadCsvOnlyName(nbiotDeviceType) uploadCsvOnlyName(nbiotDeviceArea) uploadCsvOnlyName(nbiotDevice) hashed_pw = bcrypt.generate_password_hash('pass').decode('utf-8') user = Users(username="Admin", name="Kerem", surname="Yollu", email_account="admin@kynsight.com", email_comm="admin@kynsight.com", password=hashed_pw, role_id=1, street="Meierackerstrasse", street_no="10", city_id="1", post_code="6810", state_id="1", country_id="1") db.session.add(user) user = Users(username="KeremYollu", name="Kerem", surname="Yollu", email_account="kerem.yollu@gmail.com", email_comm="kerem.yollu@gmail.com", password=hashed_pw, role_id=2, street="Meierackerstrasse", street_no="10", post_code="8610", city_id="1", state_id="1", country_id="1") db.session.add(user) user = Users(username="Dadasli", name="Suleyman", surname="Yozgat", email_account="suleyman.yozgat@gmail.com", email_comm="suleyman.yozgat@gmail.com", password=hashed_pw, role_id=3, street="Kuskonmaz Sok.", street_no="11a", post_code="3451", city_id="1", state_id="1", country_id="1") db.session.add(user) db.session.commit() user = type(Users) roles = type(User_Roles) notes = type(Notes) if __name__ == '__main__': initDatabase() users=Users.query.all() roles=User_Roles.query.all() notes=Notes.query.all() os.system("sqlite3 instance/test.db < init/static/countries/dump1.sql")