LainDB é um banco de dados leve, baseado em arquivos JSON, projetado para armazenar e manipular dados de maneira simples e flexível. Este módulo permite criar bancos de dados, tabelas, inserir e consultar registros, além de manipular o esquema das tabelas.
Este módulo pode ser facilmente integrado em seu projeto Python. Para usá-lo, basta copiá-lo para o diretório do seu projeto ou instalá-lo via pip se estiver disponível em um repositório.
- Python 3.x
- Nenhuma dependência externa (tudo é feito utilizando bibliotecas padrão do Python como
os
,json
,shutil
, etc.)
Você pode criar um novo banco de dados ou carregar um banco de dados existente.
from laindb.laindb import Lainconfig
db_name = "meu_banco"
db = Lainconfig.load_db(db_name)
Após criar ou carregar um banco de dados, você pode criar tabelas dentro dele.
db.create_table("usuarios", {
"id": "int",
"nome": "str",
"idade": "int"
})
Para inserir registros nas tabelas:
record = {
"id": 1,
"nome": "Lain",
"idade": 25
}
db.insert("usuarios", record)
Você pode consultar registros por ID ou realizar consultas com base em condições específicas.
usuarios = db.find_all("usuarios")
usuario = db.find_by_id("usuarios", 1)
resultados = db.query("usuarios", {"idade": {">": 20}})
Para atualizar um registro, basta fornecer o ID e os novos dados.
db.update("usuarios", 1, {"idade": 26})
Para excluir um registro pelo ID:
db.delete("usuarios", 1)
Você pode adicionar ou remover colunas de uma tabela.
db.add_column("usuarios", "email")
db.remove_column("usuarios", "email")
O módulo também oferece suporte para backup e restauração do banco de dados.
db.backup("backup.zip")
db.restore("backup.zip")
Cada banco de dados é armazenado em uma pasta chamada instances
, dentro da pasta onde o módulo está localizado. Dentro do banco de dados, há pastas para cada tabela, que contêm arquivos JSON:
tabela_nome_columns.json
: Define o esquema da tabela (colunas e tipos de dados).tabela_nome_data.json
: Armazena os registros da tabela.
- Lainconfig.load_db(db_name): Carrega ou cria um banco de dados com o nome
db_name
. - Laindb.create_table(table_name, columns): Cria uma nova tabela no banco de dados.
- Laindb.insert(table_name, record): Insere um novo registro na tabela.
- Laindb.find_all(table_name): Retorna todos os registros de uma tabela.
- Laindb.find_by_id(table_name, record_id): Retorna um registro específico de uma tabela por ID.
- Laindb.update(table_name, record_id, new_data): Atualiza um registro na tabela.
- Laindb.delete(table_name, record_id): Deleta um registro de uma tabela.
- Laindb.add_column(table_name, column_name): Adiciona uma nova coluna à tabela.
- Laindb.remove_column(table_name, column_name): Remove uma coluna da tabela.
- Laindb.query(table_name, conditions): Realiza uma consulta com base em condições específicas.
- Laindb.backup(backup_path): Faz backup do banco de dados.
- Laindb.restore(backup_path): Restaura o banco de dados a partir de um backup.
- Faça o fork do projeto.
- Crie uma branch para suas mudanças (
git checkout -b feature/novidade
). - Faça suas modificações e adicione testes conforme necessário.
- Envie um pull request para a branch principal.