Skip to content

Commit cb048af

Browse files
committedMar 21, 2023
add scaffolding to install new prototype SQL
1 parent 462fe43 commit cb048af

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed
 

‎conftest.py

+4
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818

1919
from fixtures.utils import create_scoped_fixtures
2020

21+
PROTOTYPE_FILE = os.path.join('db', 'sql', 'prototype.sql')
22+
2123

2224
def engine_cache(request):
2325
import logging
@@ -74,6 +76,8 @@ def __create_db(db_name):
7476
created_dbs.add(db_name)
7577
# Our default testing database has our types and functions preinstalled.
7678
install.install_mathesar_on_database(engine)
79+
with open(PROTOTYPE_FILE) as f, engine.begin() as conn:
80+
conn.execute(text(f.read()))
7781
engine.dispose()
7882
return db_name
7983
yield __create_db

‎db/install.py

+7
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1+
import os
12
from sqlalchemy import text
23
from sqlalchemy.exc import OperationalError
34

45
from db import engine
56
from db.types import install
67

8+
PROTOTYPE_FILE = os.path.join('sql', 'prototype.sql')
9+
710

811
def install_mathesar(
912
database_name, username, password, hostname, port, skip_confirm
@@ -17,6 +20,8 @@ def install_mathesar(
1720
user_db_engine.connect()
1821
print(f"Installing Mathesar on preexisting PostgreSQL database {database_name} at host {hostname}...")
1922
install.install_mathesar_on_database(user_db_engine)
23+
with open(PROTOTYPE_FILE) as f, engine.begin() as conn:
24+
conn.execute(text(f.read()))
2025
user_db_engine.dispose()
2126
except OperationalError:
2227
database_created = _create_database(
@@ -30,6 +35,8 @@ def install_mathesar(
3035
if database_created:
3136
print(f"Installing Mathesar on PostgreSQL database {database_name} at host {hostname}...")
3237
install.install_mathesar_on_database(user_db_engine)
38+
with open(PROTOTYPE_FILE) as f, engine.begin() as conn:
39+
conn.execute(text(f.read()))
3340
user_db_engine.dispose()
3441
else:
3542
print(f"Skipping installing on DB with key {database_name}.")

0 commit comments

Comments
 (0)
Please sign in to comment.