create_tables_statements()
function create_tables_statements<T>(
adapter,
EntityTypes,
entities?
): Promise<string[]>;
Defined in: packages/rxdb-adapter-pglite/src/table/create_tables_sql.ts:75
生成多张表的创建语句列表
按阶段排序,而不是按传入顺序边建表边建 trigger:
CREATE SCHEMA(所有非 public namespace)- 全部
CREATE TABLE与ADD COLUMN - 全部外键约束与索引(必须等所有表建完)
- 全部触发器(仅对 log !== false 的实体)
- 初始数据 INSERT(可选)
交错生成时,外键会指向还没建的表、trigger 会引用还没建的 change 表,
干净库上依次报 schema … does not exist / relation … does not exist(PGL-014)。
Type Parameters
| Type Parameter |
|---|
T extends EntityType |
Parameters
| Parameter | Type | Description |
|---|---|---|
adapter | RxDBAdapterPGlite | PGlite 适配器实例 |
EntityTypes | T[] | 实体类型数组 |
entities? | InstanceType<T>[] | 可选的初始数据实体数组 |
Returns
Promise<string[]>
逐条可执行的 SQL 语句数组
Example
for (const statement of await create_tables_statements(adapter, [User, Todo])) {
await adapter.internalQuery(statement);
}