feat(database): Improve database definition to add sizes
This commit is contained in:
parent
ec0aa5654c
commit
a3c1bae6db
6 changed files with 38 additions and 30 deletions
|
|
@ -48,33 +48,21 @@ export class DatabaseUpdater {
|
|||
const columnsSQL = missingColumns.map((column: DatabaseColumnDefinition) => {
|
||||
const values = [
|
||||
"ADD",
|
||||
column.name,
|
||||
column.type,
|
||||
column.primaryKey ? `PRIMARY KEY` : '',
|
||||
column.notNull ? 'NOT NULL' : '',
|
||||
column.autoIncrement ? 'AUTOINCREMENT' : '',
|
||||
this.getSQLColumnDefinition(column)
|
||||
]
|
||||
|
||||
return values.join(' ');
|
||||
}).join(', ');
|
||||
|
||||
const sql = `ALTER TABLE ${definition.name} ${columnsSQL}`;
|
||||
this.database.execute(sql);
|
||||
console.log(sql);
|
||||
}
|
||||
|
||||
|
||||
private createTable(definition: DatabaseDefinition) {
|
||||
const columnsSQL = definition.columns.map((column: DatabaseColumnDefinition) => {
|
||||
const values = [
|
||||
column.name,
|
||||
column.type,
|
||||
column.primaryKey ? `PRIMARY KEY` : '',
|
||||
column.notNull ? 'NOT NULL' : '',
|
||||
column.autoIncrement ? 'AUTOINCREMENT' : '',
|
||||
]
|
||||
|
||||
return values.join(' ');
|
||||
}).join(', ');
|
||||
const columnsSQL = definition.columns.map((column: DatabaseColumnDefinition) =>
|
||||
this.getSQLColumnDefinition(column)
|
||||
).join(', ');
|
||||
|
||||
const sql = `CREATE TABLE IF NOT EXISTS ${definition.name}
|
||||
(
|
||||
|
|
@ -82,4 +70,16 @@ export class DatabaseUpdater {
|
|||
)`;
|
||||
this.database.execute(sql);
|
||||
}
|
||||
|
||||
private getSQLColumnDefinition(column: DatabaseColumnDefinition) {
|
||||
const values = [
|
||||
column.name,
|
||||
`${column.type}${column.size ? `(${column.size})` : ''}`,
|
||||
column.primaryKey ? `PRIMARY KEY` : '',
|
||||
column.notNull ? 'NOT NULL' : '',
|
||||
column.autoIncrement ? 'AUTOINCREMENT' : '',
|
||||
];
|
||||
|
||||
return values.join(' ')
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue