mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
18 lines
835 B
TypeScript
18 lines
835 B
TypeScript
|
import path from "path";
|
||
|
import * as testUtils from "test/server/testUtils";
|
||
|
import {execFileSync} from "child_process";
|
||
|
|
||
|
export async function prepareDatabase(tempDirectory: string) {
|
||
|
// Let's create a sqlite db that we can share with servers that run in other processes, hence
|
||
|
// not an in-memory db. Running seed.ts directly might not take in account the most recent value
|
||
|
// for TYPEORM_DATABASE, because ormconfig.js may already have been loaded with a different
|
||
|
// configuration (in-memory for instance). Spawning a process is one way to make sure that the
|
||
|
// latest value prevail.
|
||
|
process.env.TYPEORM_DATABASE = path.join(tempDirectory, 'landing.db');
|
||
|
const seed = await testUtils.getBuildFile('test/gen-server/seed.js');
|
||
|
execFileSync('node', [seed, 'init'], {
|
||
|
env: process.env,
|
||
|
stdio: 'inherit'
|
||
|
});
|
||
|
}
|