import {database} from '@gaozh1024/rn-realm'
// 获取 UUID
database.getUUID()
// => string
/**
* 数据库操作,可进行增删改操作
* @param schemaList {DataBaseSchemaData[]} schema 列表
* @param params {DataBaseParams} 当前数据库配置参数
* @param hasTransaction {boolean} 是否开启事务(可选参数,默认开启)
* @return IDataBaseOpen
*/
database.open(schemaList, params, hasTransaction);
/**
* 数据库操作,仅可查询
* @param schemaList {DataBaseSchemaData[]} schema 列表
* @param params {DataBaseParams} 当前数据库配置参数
* @param hasTransaction {boolean} 是否开启事务(默认开启)
* @return IDataBaseReadonly
*/
database.readonly(schemaList, params, hasTransaction);
/**
* 创建表
* @param {DataBaseSchemaData} 表字段
* @return DataBaseSchemaData
*/
database.createSchema({
name: '表名',
// 字段
properties: {
name: {type: database.fieldType.string, default: '张三'}
},
// 主键
primaryKey: '_id'
})
// 数据类型
database.fieldType
/**
* =>
* bool
* int
* float
* double
* string
* decimal128
* objectId
* data
* date
* list
* linkingObjects
* dictionary
* set
* mixed
* uuid
*/
// 表 class
database.Schema(realm, hasTransaction)
// 创建表
const AppInfoSchema = database.createSchema({
name: 'AppInfo',
properties: {
_id: {type: database.fieldType.string, default: '1'},
version: {type: database.fieldType.string, default: '1.0'},
build: {type: database.fieldType.string, default: '1'},
}
});
// 初始化版本信息
const dbParams: DataBaseParams = {
// 数据库版本,每次更改都需要增加
schemaVersion: 1
}
// 打开数据库
const db = database.open([AppInfoSchema], dbParams);
// 修改数据
db.schema.add(AppInfoSchema, {_id: '1', version: '1.0', build: '1'});
// 修改数据
db.schema.edit(AppInfoSchema, '1', {version: '2.0', build: '2'});
// 查看数据
db.schema.get(AppInfoSchema, '1');
// => {_id:'1',version:'2.0',build:'2'}
// 关闭数据库
db.backClose();
/**
* 注意:
* 数据库执行查询操作后,需要将数据脱钩,赋值与另外一个字段输出出来,否则数据展示 undefined
*/