Database
Module | ejs.db |
Definition | class Database |
Inheritance | Database ![]() |
Specified | ejscript-1.1 |
Stability | Evolving. |
SQL Database support.
The Database class provides an interface over other database adapter classes such as SQLite or MySQL. Not all the functionality expressed by this API may be implemented by a specific database adapter.
Properties
Qualifiers | Property | Type | Description |
---|---|---|---|
public get | connection | String | The database connection string. |
public static get set | defaultDatabase | Database | The default database for the application. |
public get | name | String | The database name defined via the connection string or constructor. |
Database Methods
Qualifiers | Method |
---|---|
public | addColumn(table: String, column: String, datatype: String, options: Object = null): Void |
Add a column to a table. | |
public | addIndex(table: String, column: String, index: String): Void |
Add an index on a column. | |
public | changeColumn(table: String, column: String, datatype: String, options: Object = null): Void |
Change a column. | |
public | close(): Void |
Close the database connection. | |
public | commit(): Void |
Commit a database transaction. | |
public | createDatabase(name: String, options: Object = null): Void |
Create a new database. | |
public | createTable(table: String, columns: Array = null): Void |
Create a new table. | |
Database(adapter: String, connectionString: String) | |
Initialize a database connection using the supplied database connection string. | |
public | dataTypeToSqlType(dataType: String): String |
Map the database independant data type to a database dependant SQL data type. | |
public | destroyDatabase(name: String): Void |
Destroy a database. | |
public | destroyTable(table: String): Void |
Destroy a table. | |
public | endTransaction(): Void |
End a transaction. | |
public | getColumns(table: String): Array |
Get column information. | |
public | getNumRows(table: String): Number |
Return the number of rows in a table. | |
public | getTables(): Array |
Return list of tables in a database. | |
public | query(cmd: String, tag: String = SQL , trace: Boolean = false): Array |
Execute a SQL command on the database. | |
public | removeColumns(table: String, columns: Array): Void |
Remove columns from a table. | |
public | removeIndex(table: String, index: String): Void |
Remove an index. | |
public | renameColumn(table: String, oldColumn: String, newColumn: String): Void |
Rename a column. | |
public | renameTable(oldTable: String, newTable: String): Void |
Rename a table. | |
public | sql(cmd: String): Array |
Execute a SQL command on the database. | |
public | sqlTypeToDataType(sqlType: String): String |
Map the SQL type to a database independant data type. | |
public | sqlTypeToEjsType(sqlType: String): Type |
Map the SQL type to an Ejscript type class. | |
public | startTransaction(): Void |
Start a new database transaction. | |
public | trace(on: Boolean): Void |
Trace all SQL statements on this database. | |
public | transaction(code: Function): Void |
Execute a database transaction. |
Method Detail
Add a column to a table.
- Parameters
table: String Name of the table. column: String Name of the column to add. datatype: String Database independant type of the column. Valid types are: binary, boolean, date, datetime, decimal, float, integer, number, string, text, time and timestamp. options: Object Optional parameters. [default: null]
Change a column.
- Parameters
table: String Name of the table holding the column. column: String Name of the column to change. datatype: String Database independant type of the column. Valid types are: binary, boolean, date, datetime, decimal, float, integer, number, string, text, time and timestamp. options: Object Optional parameters. [default: null]
Close the database connection.
- Description
- Database connections should be closed when no longer needed rather than waiting for the garbage collector to automatically close the connection when disposing the database instance.
Commit a database transaction.
Initialize a database connection using the supplied database connection string.
- Parameters
adapter: String Database adapter to use. E.g. "sqlite". connectionString: String Connection string stipulating how to connect to the database. The format is one of the following forms: - adapter://host/database/username/password
- filename
sqlite://localhost/filename
Map the database independant data type to a database dependant SQL data type.
- Parameters
dataType: String Data type to map.
- Returns
- The corresponding SQL database type.
Destroy a database.
- Parameters
name: String Name of the database to remove.
Destroy a table.
- Parameters
table: String Name of the table to destroy.
End a transaction.
Get column information.
- Parameters
table: String Name of the table to examine.
- Returns
- An array of column data. This is database specific content and will vary depending on the database connector in use.
Return the number of rows in a table.
- Returns
- The count of rows in a table in the currently opened database.
Return list of tables in a database.
- Returns
- An array containing list of table names present in the currently opened database.
Execute a SQL command on the database.
- Parameters
cmd: String SQL command string. tag: String Debug tag to use when logging the command. [default: SQL ] trace: Boolean Set to true to eanble logging this command. [default: false]
- Returns
- An array of row results where each row is represented by an Object hash containing the column names and values.
Execute a SQL command on the database.
- Description
- This is a low level SQL command interface that bypasses logging. Use.
- Parameters
cmd: String SQL command to issue. Note: "SELECT" is automatically prepended and ";" is appended for you.
- Returns
- An array of row results where each row is represented by an Object hash containing the column names and values.
Map the SQL type to a database independant data type.
- Parameters
sqlType: String SQL Data type to map.
- Returns
- The corresponding database independant type.
Map the SQL type to an Ejscript type class.
- Parameters
sqlType: String SQL Data type to map.
- Returns
- The corresponding type class.
Start a new database transaction.
Trace all SQL statements on this database.
- Description
- Control whether trace is enabled for all SQL statements issued against the database.
- Parameters
on: Boolean If true, display each SQL statement to the log.
Execute a database transaction.
- Parameters
code: Function Function to run inside a database transaction.