0
respostas

[Dúvida] Esta conforme ?

import sqlite3
import os


# ================= CONEXÃO =================
def conectar(caminho_db="hotelplus.db"):
    return sqlite3.connect(caminho_db)


# ================= CRIAR BANCO (arquivo) =================
def criar_banco(caminho_db):
    try:
        if not os.path.exists(caminho_db):
            conectar(caminho_db).close()
            print(" Banco '{}' criado (arquivo)".format(caminho_db))
        else:
            print(" Banco '{}' já existe".format(caminho_db))

    except Exception as erro:
        print(" Erro ao criar banco '{}': {}".format(caminho_db, erro))
        raise


# ================= CRIAR TABELAS =================
def criar_tabelas(caminho_db):
    conexao = None

    try:
        conexao = conectar(caminho_db)

        cursor = conexao.cursor()
        cursor.execute("""
            CREATE TABLE IF NOT EXISTS quartos (
                id INTEGER PRIMARY KEY AUTOINCREMENT,
                numero INTEGER NOT NULL,
                tipo TEXT NOT NULL
            )
        """)

        conexao.commit()
        print(" Tabelas criadas com sucesso")

    except Exception as erro:
        if conexao:
            conexao.rollback()
        print(" Erro ao criar tabelas: {}".format(erro))
        raise

    finally:
        if conexao:
            conexao.close()


# ================= EXECUÇÃO PRINCIPAL =================
def executar():
    try:
        criar_banco("hotelplus.db")
        criar_tabelas("hotelplus.db")
        print( " Sistema SQLite pronto para uso")

    except Exception:
        print(" Falha na inicialização do sistema")


# ================= START =================
executar()