Merge pull request #1344 from lnbits/migrations/conv_warn_empty

conv.py: warn if table is empty
This commit is contained in:
calle 2023-01-11 12:15:18 +01:00 committed by GitHub
commit 3b5befdaac
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,3 +1,8 @@
# Python script to migrate an LNbits SQLite DB to Postgres
# All credits to @Fritz446 for the awesome work
# pip install psycopg2 OR psycopg2-binary
import argparse
import os
import sqlite3
@ -8,13 +13,6 @@ import psycopg2
from lnbits.settings import settings
# Python script to migrate an LNbits SQLite DB to Postgres
# All credits to @Fritz446 for the awesome work
# pip install psycopg2 OR psycopg2-binary
# Change these values as needed
sqfolder = settings.lnbits_data_folder
db_url = settings.lnbits_database_url
@ -31,7 +29,7 @@ else:
pgschema = ""
def get_sqlite_cursor(sqdb) -> sqlite3:
def get_sqlite_cursor(sqdb):
consq = sqlite3.connect(sqdb)
return consq.cursor()
@ -112,12 +110,15 @@ def migrate_core(file: str, exclude_tables: List[str] = []):
def migrate_ext(file: str):
filename = os.path.basename(file)
schema = filename.replace("ext_", "").split(".")[0]
print(f"Migrating ext: {file}.{schema}")
print(f"Migrating ext: {schema} from file {file}")
migrate_db(file, schema)
print(f"✅ Migrated ext: {schema}")
def migrate_db(file: str, schema: str, exclude_tables: List[str] = []):
# first we check if this file exists:
assert os.path.isfile(file), f"{file} does not exist!"
sq = get_sqlite_cursor(file)
tables = sq.execute(
"""
@ -139,6 +140,10 @@ def migrate_db(file: str, schema: str, exclude_tables: List[str] = []):
q = build_insert_query(schema, tableName, columns)
data = sq.execute(f"SELECT * FROM {tableName};").fetchall()
if len(data) == 0:
print(f"🛑 You sneaky dev! Table {tableName} is empty!")
insert_to_pg(q, data)
sq.close()