mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
b9a4b2b58f
Summary: I missed committing a file that is important for editing files comfortably in the ext directory in an IDE. This diff: * Adds tsconfig-base-ext.json - that was the only intended change * Unrelated: Forces all creation of connections to the home db through a new `getOrCreateConnection` method which changes the `busy_timeout` if using Sqlite. This was an attempt to fix random "database is locked" test failures. I believe multiple connections to the home db as an sqlite file do not happen in self-hosted Grist (where there is a single node process) or in our SaaS (where the database is in postgres). It does affect Grist started using `devServerMain.ts` (where multiple processes accessing same database are started) or various test configurations when extra database connections are opened. * Unrelated: I added a `busy_timeout` for session storage, when it uses Sqlite. Again, I don't believe this affects self-hosted Grist or our SaaS. * Tweaked a `BillingDiscount` test that looked perhaps vulnerable to a stripe request stalling. I can't be sure my tweaks actually help, since I didn't succeed in replicating the failures. Update: looks like the "locked" error can still happen :( Test Plan: manual Reviewers: jarek Reviewed By: jarek Subscribers: jarek Differential Revision: https://phab.getgrist.com/D3450
16 lines
451 B
TypeScript
16 lines
451 B
TypeScript
import {HomeDBManager} from 'app/gen-server/lib/HomeDBManager';
|
|
|
|
export async function getDatabase(typeormDb?: string): Promise<HomeDBManager> {
|
|
const origTypeormDB = process.env.TYPEORM_DATABASE;
|
|
if (typeormDb) {
|
|
process.env.TYPEORM_DATABASE = typeormDb;
|
|
}
|
|
const db = new HomeDBManager();
|
|
await db.connect();
|
|
await db.initializeSpecialIds();
|
|
if (origTypeormDB) {
|
|
process.env.TYPEORM_DATABASE = origTypeormDB;
|
|
}
|
|
return db;
|
|
}
|