Add script to delete existing database (#44)

* Fix deployment creation time and hard coded title

* Add delete database script

* Use database file path from config file

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
This commit is contained in:
Nabarun Gogoi 2024-01-25 19:49:09 +05:30 committed by Ashwin Phatak
parent 0feeb9408d
commit cfb4b4637c
6 changed files with 32 additions and 7 deletions

View File

@ -29,7 +29,8 @@
"lint": "eslint .",
"format": "prettier --write .",
"format:check": "prettier --check .",
"db:load:fixtures": "DEBUG=snowball:* ts-node ./test/initialize-db.ts"
"db:load:fixtures": "DEBUG=snowball:* ts-node ./test/initialize-db.ts",
"db:delete": "DEBUG=snowball:* ts-node ./test/delete-db.ts"
},
"devDependencies": {
"@types/fs-extra": "^11.0.4",

View File

@ -0,0 +1,21 @@
import * as fs from 'fs/promises';
import debug from 'debug';
import { getConfig } from '../src/utils';
import { Config } from '../src/config';
import { DEFAULT_CONFIG_FILE_PATH } from '../src/constants';
const log = debug('snowball:delete-database');
const deleteFile = async (filePath: string) => {
await fs.unlink(filePath);
log(`File ${filePath} has been deleted.`);
};
const main = async () => {
const config = await getConfig<Config>(DEFAULT_CONFIG_FILE_PATH);
deleteFile(config.database.dbPath);
};
main().catch(err => log(err));

View File

@ -11,11 +11,12 @@ import { EnvironmentVariable } from '../src/entity/EnvironmentVariable';
import { Domain } from '../src/entity/Domain';
import { ProjectMember } from '../src/entity/ProjectMember';
import { Deployment } from '../src/entity/Deployment';
import { getConfig } from '../src/utils';
import { Config } from '../src/config';
import { DEFAULT_CONFIG_FILE_PATH } from '../src/constants';
const log = debug('snowball:initialize-database');
const DB_PATH = '../db/snowball';
const USER_DATA_PATH = './fixtures/users.json';
const PROJECT_DATA_PATH = './fixtures/projects.json';
const ORGANIZATION_DATA_PATH = './fixtures/organizations.json';
@ -103,12 +104,13 @@ const checkFileExists = async (filePath: string) => {
};
const main = async () => {
const isDbPresent = await checkFileExists(path.resolve(__dirname, DB_PATH));
const config = await getConfig<Config>(DEFAULT_CONFIG_FILE_PATH);
const isDbPresent = await checkFileExists(config.database.dbPath);
if (!isDbPresent) {
const dataSource = new DataSource({
type: 'better-sqlite3',
database: 'db/snowball',
database: config.database.dbPath,
synchronize: true,
logging: true,
entities: [path.join(__dirname, '../src/entity/*')]

View File

@ -86,7 +86,7 @@ const DeploymentDetailsCard = ({
</div>
<div className="col-span-1 flex items-center">
<Typography color="gray" className="grow">
{relativeTimeMs(deployment.updatedAt)} ^ {deployment.author}
{relativeTimeMs(deployment.createdAt)} ^ {deployment.author}
</Typography>
<Menu placement="bottom-start">
<MenuHandler>

View File

@ -28,7 +28,7 @@ const DeploymentDialogBodyCard = ({
/>
)}
<Typography variant="small" className="text-black">
deployment title
{deployment.title}
</Typography>
<Typography variant="small">
^ {deployment.branch} ^ {deployment.commit.hash}{' '}

View File

@ -46,6 +46,7 @@ export interface DeploymentDetails {
message: string;
};
author: string;
createdAt: string;
updatedAt: string;
}