mirror of https://github.com/OWASP/Nettacker.git
43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
from sqlalchemy import create_engine, text
|
|
|
|
from nettacker.config import Config
|
|
from nettacker.database.models import Base
|
|
|
|
|
|
def mysql_create_database():
|
|
"""
|
|
when using mysql database, this is the function that is used to create the
|
|
database for the first time when you run the nettacker module.
|
|
"""
|
|
engine = create_engine(
|
|
"mysql+pymysql://{username}:{password}@{host}:{port}".format(**Config.db.as_dict())
|
|
)
|
|
|
|
# Earlier we were quering using the engine itself, but we first need to create a connection
|
|
try:
|
|
with engine.connect() as conn:
|
|
existing_databases = conn.execute(text("SHOW DATABASES;"))
|
|
existing_databases = [d[0] for d in existing_databases]
|
|
|
|
if Config.db.name not in existing_databases:
|
|
conn.execute(text("CREATE DATABASE {0} ".format(Config.db.name)))
|
|
except Exception as e:
|
|
print(e)
|
|
|
|
|
|
def mysql_create_tables():
|
|
"""
|
|
when using mysql database, this is the function that is used to create the
|
|
tables in the database for the first time when you run the nettacker module.
|
|
|
|
Args:
|
|
None
|
|
|
|
Returns:
|
|
True if success otherwise False
|
|
"""
|
|
db_engine = create_engine(
|
|
"mysql+pymysql://{username}:{password}@{host}:{port}/{name}".format(**Config.db.as_dict())
|
|
)
|
|
Base.metadata.create_all(db_engine)
|