mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(core) add missing tsconfig file that affects IDEs
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
This commit is contained in:
@@ -50,6 +50,7 @@ import {
|
||||
now,
|
||||
readJson
|
||||
} from 'app/gen-server/sqlUtils';
|
||||
import {getOrCreateConnection} from 'app/server/lib/dbUtils';
|
||||
import {makeId} from 'app/server/lib/idUtils';
|
||||
import * as log from 'app/server/lib/log';
|
||||
import {Permit} from 'app/server/lib/Permit';
|
||||
@@ -60,10 +61,8 @@ import {Request} from "express";
|
||||
import {
|
||||
Brackets,
|
||||
Connection,
|
||||
createConnection,
|
||||
DatabaseType,
|
||||
EntityManager,
|
||||
getConnection,
|
||||
SelectQueryBuilder,
|
||||
WhereExpression
|
||||
} from "typeorm";
|
||||
@@ -345,14 +344,7 @@ export class HomeDBManager extends EventEmitter {
|
||||
}
|
||||
|
||||
public async connect(): Promise<void> {
|
||||
try {
|
||||
// If multiple servers are started within the same process, we
|
||||
// share the database connection. This saves locking trouble
|
||||
// with Sqlite.
|
||||
this._connection = getConnection();
|
||||
} catch (e) {
|
||||
this._connection = await createConnection();
|
||||
}
|
||||
this._connection = await getOrCreateConnection();
|
||||
this._dbType = this._connection.driver.options.type;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user