🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

sqlite3-to-oracle

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sqlite3-to-oracle

Outil de conversion de bases de données SQLite vers Oracle

1.0.0
PyPI
Maintainers
1

SQLite to Oracle Converter

Outil pour convertir des bases de données SQLite vers Oracle SQL.

Caractéristiques

  • Conversion automatique des types de données SQLite vers Oracle
  • Gestion des tables volumineuses et des types complexes
  • Création automatique d'utilisateur Oracle
  • Plusieurs modes d'importation :
    • Importation complète (schéma + données)
    • Schéma uniquement (--schema-only)
    • Structure relationnelle uniquement (--only-fk-keys) - conserve uniquement les clés primaires et étrangères

Installation

pip install sqlite3-to-oracle

Usage

# Conversion standard
sqlite3-to-oracle --sqlite_db ma_base.sqlite

# Conversion avec schéma seulement (sans données)
sqlite3-to-oracle --sqlite_db ma_base.sqlite --schema-only

# Conversion du squelette relationnel uniquement (uniquement les clés primaires et étrangères)
sqlite3-to-oracle --sqlite_db ma_base.sqlite --only-fk-keys

# Conversion avec nom d'utilisateur et mot de passe personnalisés
sqlite3-to-oracle --sqlite_db ma_base.sqlite --new-username mon_user --new-password mon_pass

Options

Options de source

# Utilisation en ligne de commande
sqlite3-to-oracle --sqlite_db path/to/your_database.sqlite

# Options supplémentaires
sqlite3-to-oracle --sqlite_db path/to/your_database.sqlite --new-username custom_user --new-password custom_pass --drop-tables --force-recreate

# Utilisation avec un fichier .env
sqlite3-to-oracle --env-file /path/to/.env

Fichier .env

Vous pouvez configurer toutes les options dans un fichier .env :

# Configuration Oracle Admin
ORACLE_ADMIN_USER=system
ORACLE_ADMIN_PASSWORD=password
ORACLE_ADMIN_DSN=localhost:1521/free

# Options du programme
ORACLE_SQLITE_DB=/path/to/database.sqlite
ORACLE_OUTPUT_FILE=/path/to/output.sql
ORACLE_NEW_USERNAME=new_user
ORACLE_NEW_PASSWORD=new_pass
ORACLE_DROP_TABLES=true
ORACLE_FORCE_RECREATE=true
ORACLE_SCHEMA_ONLY=false

Fonctionnalités

  • Convertit les schémas et données SQLite en Oracle SQL compatible
  • Crée automatiquement un utilisateur Oracle
  • Exécute le script SQL généré dans Oracle
  • Fournit l'URI SQLAlchemy pour se connecter à la base créée

Configuration Oracle

Plusieurs méthodes sont disponibles pour configurer l'accès à Oracle :

  • Variables d'environnement :

    • ORACLE_ADMIN_USER, ORACLE_ADMIN_PASSWORD, ORACLE_ADMIN_DSN
  • Fichier .env :

    • Utiliser l'option --env-file pour spécifier le chemin du fichier
  • Fichier de configuration JSON :

    • ~/.oracle_config.json (automatique)
    • Ou spécifier avec --oracle-config-file
  • Arguments en ligne de commande :

    • --oracle-admin-user, --oracle-admin-password, --oracle-admin-dsn

Les paramètres de ligne de commande ont la priorité sur les autres méthodes.

Vérifications post-importation

Après avoir importé votre base de données SQLite vers Oracle, l'outil valide automatiquement l'importation pour s'assurer que les tables, colonnes et données ont été correctement transférées.

# La validation est activée par défaut, donc cette commande effectue déjà une validation
sqlite3-to-oracle --sqlite_db path/to/your_database.sqlite

# Pour désactiver la validation (non recommandé)
sqlite3-to-oracle --sqlite_db path/to/your_database.sqlite --no-validate-schema

# Pour des détails supplémentaires sur les éventuels problèmes
sqlite3-to-oracle --sqlite_db path/to/your_database.sqlite --verbose

Vérifications effectuées

La validation post-importation vérifie :

  • Tables : Toutes les tables SQLite sont présentes dans Oracle
  • Schéma : Les colonnes et leurs types de données correspondent entre SQLite et Oracle
  • Données : Le nombre d'enregistrements dans chaque table correspond entre les deux bases
  • Récapitulatif : Un résumé statistique avec le total des tables, colonnes et lignes

Interpréter les résultats

  • VALIDATION RÉUSSIE : Toutes les tables, colonnes et données ont été correctement importées
  • ⚠️ VALIDATION AVEC AVERTISSEMENTS : L'importation est partiellement réussie mais présente des problèmes

Utilisez l'option --verbose pour voir les détails spécifiques des avertissements et des erreurs, comme les tables ou colonnes manquantes.

Traitement par lots

L'outil permet également de traiter plusieurs bases de données SQLite en une seule fois :

# Traiter tous les fichiers .sqlite dans un répertoire
sqlite3-to-oracle --batch --sqlite-dir /chemin/vers/repertoire --uri-output-file uris.txt

# Traiter des fichiers spécifiques avec un motif
sqlite3-to-oracle --batch --sqlite-dir /chemin/vers/repertoire --file-pattern "data_*.db" --uri-output-file uris.txt

Les URIs SQLAlchemy de toutes les bases importées avec succès seront enregistrées dans le fichier spécifié.

Utilisateurs par base de données

En mode batch, chaque base de données SQLite est importée avec son propre utilisateur Oracle dédié. Le nom d'utilisateur et le mot de passe sont dérivés automatiquement du nom du fichier SQLite:

  • Pour un fichier clients.sqlite → utilisateur Oracle clients
  • Pour un fichier sales_2023.db → utilisateur Oracle sales2023

Cela permet une isolation complète des données entre les différentes bases importées.

Note: Pour utiliser un seul utilisateur administrateur pour toutes les importations, ajoutez l'option --use-admin-user.

Options de traitement par lots

OptionDescription
--batchActiver le mode de traitement par lots
--sqlite-dirRépertoire contenant les fichiers SQLite à importer
--file-patternMotif de fichiers à traiter (par défaut: *.sqlite)
--uri-output-fileFichier pour enregistrer les URIs SQLAlchemy
--continue-on-errorContinuer le traitement même en cas d'erreur
--use-admin-userUtiliser un seul utilisateur (admin) pour toutes les bases

Keywords

sqlite

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts