Logo

DIVERSITY

Documentation

Modules

Database

The Database module provides a unified interface for database operations.

Server Functions


GetResourceName

Returns the name of the underlying database resource being used.

server.lua
local resourceName = dBridge.Database.GetResourceName()
Returned DataTypeDescription
resourceName
string
The name of the database resource (e.g., "oxmysql").

Select

Fetches multiple rows from the database.

server.lua
local result = await dBridge.Database.Select('SELECT * FROM users WHERE job = ?', {'police'})
ArgumentTypeDescription
query
string
SQL query to execute.
parameters?
any[]
Parameters for the query.
Returned DataTypeDescription
result
table
Array of rows returned by the query.

Execute

Executes a query and returns the number of affected rows.

server.lua
local affectedRows = await dBridge.Database.Execute('UPDATE users SET job = ? WHERE identifier = ?', {'unemployed', 'char1:12345'})
ArgumentTypeDescription
query
string
SQL query to execute.
parameters?
any[]
Parameters for the query.
Returned DataTypeDescription
affectedRows
number
Number of rows affected by the query.

Scalar

Fetches a single value from the database.

server.lua
local count = await dBridge.Database.Scalar('SELECT COUNT(*) FROM users')
ArgumentTypeDescription
query
string
SQL query to execute.
parameters?
any[]
Parameters for the query.
Returned DataTypeDescription
result
number
The single value returned by the query.

Insert

Inserts a row and returns the insert ID.

server.lua
local insertId = await dBridge.Database.Insert('INSERT INTO users (name, job) VALUES (?, ?)', {'John Doe', 'police'})
ArgumentTypeDescription
query
string
SQL query to execute.
parameters?
any[]
Parameters for the query.
Returned DataTypeDescription
insertId
number
The ID of the inserted row.

Update

Updates or deletes rows and returns the number of affected rows. Alias for Execute in some implementations.

server.lua
local affectedRows = await dBridge.Database.Update('DELETE FROM users WHERE id = ?', {1})
ArgumentTypeDescription
query
string
SQL query to execute.
parameters?
any[]
Parameters for the query.
Returned DataTypeDescription
affectedRows
number
Number of rows affected by the query.

Transaction

Executes a batch of queries as a transaction.

server.lua
local success = await dBridge.Database.Transaction({
    'UPDATE users SET money = money - 100 WHERE id = 1',
    'UPDATE users SET money = money + 100 WHERE id = 2'
})
ArgumentTypeDescription
queries
string[]
List of SQL queries to execute.
parameters?
any[]
Parameters for the queries (optional).
Returned DataTypeDescription
success
boolean
Whether the transaction was successful.

Was this page helpful?