new IdoDBManager()
Classe que permite a gestão dos bancos IDO do Engine que está em execução.
Importante: a criação de bancos de dados IDO normalmente ocorre em cenários com concorrência
de execução. Deve ser utilizada classe CriticalSection
a fim de garantir que a criação da
base de dados seja realizada por uma única sessão JavaScript.
Example
criticalSection.enter(criticalSectionName); try { const db = idoDBManager.databaseExists(dbName) ? idoDBManager.loadDatabase(dbName) : idoDBManager.createDatabase(dbName); if (db.tableExists(tableName)) { return db.loadTable(tableName); } else { const ds = new DataSet(db); ds.fieldDefs.add(fieldDefs); ds.create(tableName); return ds; } } finally { criticalSection.leave(criticalSectionName); }
Methods
-
createDatabase(name)
-
Cria uma base de dados IDO.
Os dados das tabelas da base de dados serão gravados em arquivos no diretório `<engine.dataDir>/appdbs' e serão preservados após a finalização do Engine.
Parameters:
Name Type Description name
string Nome da base de dados a ser criada.
Returns:
Instância da base de dados IDO criada.
- Type
- IdoDB
-
createTempDatabase( [dbName] [, options])
-
Cria uma base de dados IDO temporária.
Por padrão, as bases de dados temporárias são mantidas enquanto o Engine estiver em execução. Esse comportamento pode ser modificado por meio da opção
autoDrop
. Ao ativar essa opção, a base temporária será mantida apenas enquanto houver sessões Javascript que a referenciem, sendo uma opção recomendada para bases de dados temporárias utilizadas por uma única sessão JavaScript.Parameters:
Name Type Argument Description dbName
string <optional>
Nome da base de dados a ser criada. Caso não seja informado, será criada uma base de dados com nome aleatório com a opção
autoDrop
ativa, não sendo possível reabrir essa base de dados posteriormente pelo métodoloadDatabase
.options
Object <optional>
Opções de criação da base de dados.
Properties
Name Type Argument Description autoDrop
boolean <optional>
Cria uma base de dados temporária que é removida automaticamente caso não esteja mais em uso.
Returns:
Instância da base de dados IDO criada.
- Type
- IdoDB
-
databaseExists(name)
-
Verifica se já existe uma base de dados IDO.
Parameters:
Name Type Description name
string Nome da base de dados que será verificada a sua existência.
Returns:
Retorna o valor
true
se a base de dados existir.- Type
- boolean
-
deleteDatabase(name)
-
Remove uma base de dados.
Parameters:
Name Type Description name
string Nome da base de dados que será removida.
-
loadDatabase(name)
-
Carrega uma base de dados IDO.
Parameters:
Name Type Description name
string Nome da base de dados que será carregada.
Returns:
Instância da base de dados IDO carregada.
- Type
- IdoDB
-
renameDatabase(oldName, newName)
-
Renomeia uma base de dados persistente.
Este método não pode ser utilizado em bases de dados temporárias.
Parameters:
Name Type Description oldName
string Nome atual da base de dados.
newName
string Novo nome da base de dados.