-
Notifications
You must be signed in to change notification settings - Fork 43
/
Copy pathsetup_db.py
32 lines (28 loc) · 885 Bytes
/
setup_db.py
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
import sqlalchemy
from sqlalchemy import *
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
import malware_sample_model
import utils
import os, sys
# Load configuration
config = utils.get_configuration("malwarehouse.cfg")
uri = config.get('database', 'uri')
engine = create_engine(uri)
engine.echo = True
# Create the root directory if it does not exist
if engine.name == "sqlite":
database_path = os.path.dirname(engine.url.database)
if not os.path.exists(database_path):
try:
os.makedirs(database_path)
except Exception, err:
print err
sys.exit(1)
try:
metadata = MetaData(engine)
Base = malware_sample_model.Base
Base.metadata.create_all(engine)
print "%s successfully created"%uri
except Exception, err:
print "Failed to create database -%s"%(err)