drizzle-orm 0.10.29 → 0.10.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{dist/index.js → index.js} +0 -0
- package/package.json +7 -5
- package/.eslintrc +0 -28
- package/.tslintignore +0 -1
- package/CHANGELOG.md +0 -202
- package/README.md +0 -439
- package/dist/builders/aggregators/abstractAggregator.d.ts +0 -11
- package/dist/builders/aggregators/abstractAggregator.js +0 -35
- package/dist/builders/aggregators/deleteAggregator.d.ts +0 -16
- package/dist/builders/aggregators/deleteAggregator.js +0 -42
- package/dist/builders/aggregators/insertAggregator.d.ts +0 -22
- package/dist/builders/aggregators/insertAggregator.js +0 -106
- package/dist/builders/aggregators/selectAggregator.d.ts +0 -39
- package/dist/builders/aggregators/selectAggregator.js +0 -143
- package/dist/builders/aggregators/updateAggregator.d.ts +0 -19
- package/dist/builders/aggregators/updateAggregator.js +0 -50
- package/dist/builders/highLvlBuilders/abstractRequestBuilder.d.ts +0 -27
- package/dist/builders/highLvlBuilders/abstractRequestBuilder.js +0 -32
- package/dist/builders/highLvlBuilders/deleteRequestBuilder.d.ts +0 -19
- package/dist/builders/highLvlBuilders/deleteRequestBuilder.js +0 -61
- package/dist/builders/highLvlBuilders/insertRequestBuilder.d.ts +0 -20
- package/dist/builders/highLvlBuilders/insertRequestBuilder.js +0 -73
- package/dist/builders/highLvlBuilders/order.d.ts +0 -5
- package/dist/builders/highLvlBuilders/order.js +0 -8
- package/dist/builders/highLvlBuilders/selectRequestBuilder.d.ts +0 -47
- package/dist/builders/highLvlBuilders/selectRequestBuilder.js +0 -128
- package/dist/builders/highLvlBuilders/updateRequestBuilder.d.ts +0 -22
- package/dist/builders/highLvlBuilders/updateRequestBuilder.js +0 -80
- package/dist/builders/index.d.ts +0 -18
- package/dist/builders/index.js +0 -54
- package/dist/builders/joinBuilders/builders/abstractJoinBuilder.d.ts +0 -40
- package/dist/builders/joinBuilders/builders/abstractJoinBuilder.js +0 -78
- package/dist/builders/joinBuilders/builders/selectWithFiveJoins.d.ts +0 -35
- package/dist/builders/joinBuilders/builders/selectWithFiveJoins.js +0 -45
- package/dist/builders/joinBuilders/builders/selectWithFourJoins.d.ts +0 -55
- package/dist/builders/joinBuilders/builders/selectWithFourJoins.js +0 -78
- package/dist/builders/joinBuilders/builders/selectWithJoin.d.ts +0 -49
- package/dist/builders/joinBuilders/builders/selectWithJoin.js +0 -64
- package/dist/builders/joinBuilders/builders/selectWithThreeJoins.d.ts +0 -53
- package/dist/builders/joinBuilders/builders/selectWithThreeJoins.js +0 -73
- package/dist/builders/joinBuilders/builders/selectWithTwoJoins.d.ts +0 -51
- package/dist/builders/joinBuilders/builders/selectWithTwoJoins.js +0 -68
- package/dist/builders/joinBuilders/join.d.ts +0 -23
- package/dist/builders/joinBuilders/join.js +0 -28
- package/dist/builders/joinBuilders/joinWith.d.ts +0 -14
- package/dist/builders/joinBuilders/joinWith.js +0 -14
- package/dist/builders/joinBuilders/responses/selectResponseFiveJoins.d.ts +0 -20
- package/dist/builders/joinBuilders/responses/selectResponseFiveJoins.js +0 -35
- package/dist/builders/joinBuilders/responses/selectResponseFourJoins.d.ts +0 -19
- package/dist/builders/joinBuilders/responses/selectResponseFourJoins.js +0 -34
- package/dist/builders/joinBuilders/responses/selectResponseThreeJoins.d.ts +0 -18
- package/dist/builders/joinBuilders/responses/selectResponseThreeJoins.js +0 -33
- package/dist/builders/joinBuilders/responses/selectResponseTwoJoins.d.ts +0 -17
- package/dist/builders/joinBuilders/responses/selectResponseTwoJoins.js +0 -32
- package/dist/builders/joinBuilders/responses/selectResponseWithJoin.d.ts +0 -16
- package/dist/builders/joinBuilders/responses/selectResponseWithJoin.js +0 -31
- package/dist/builders/joinBuilders/static.d.ts +0 -5
- package/dist/builders/joinBuilders/static.js +0 -9
- package/dist/builders/lowLvlBuilders/alter.d.ts +0 -0
- package/dist/builders/lowLvlBuilders/alter.js +0 -1
- package/dist/builders/lowLvlBuilders/create.d.ts +0 -12
- package/dist/builders/lowLvlBuilders/create.js +0 -100
- package/dist/builders/lowLvlBuilders/delets/delete.d.ts +0 -5
- package/dist/builders/lowLvlBuilders/delets/delete.js +0 -15
- package/dist/builders/lowLvlBuilders/delets/deleteFilter.d.ts +0 -11
- package/dist/builders/lowLvlBuilders/delets/deleteFilter.js +0 -13
- package/dist/builders/lowLvlBuilders/delets/deleteFrom.d.ts +0 -12
- package/dist/builders/lowLvlBuilders/delets/deleteFrom.js +0 -14
- package/dist/builders/lowLvlBuilders/inserts/insert.d.ts +0 -5
- package/dist/builders/lowLvlBuilders/inserts/insert.js +0 -15
- package/dist/builders/lowLvlBuilders/inserts/insertInto.d.ts +0 -13
- package/dist/builders/lowLvlBuilders/inserts/insertInto.js +0 -16
- package/dist/builders/lowLvlBuilders/inserts/onConflictInsert.d.ts +0 -12
- package/dist/builders/lowLvlBuilders/inserts/onConflictInsert.js +0 -13
- package/dist/builders/lowLvlBuilders/inserts/valuesInsert.d.ts +0 -16
- package/dist/builders/lowLvlBuilders/inserts/valuesInsert.js +0 -19
- package/dist/builders/lowLvlBuilders/selects/select.d.ts +0 -9
- package/dist/builders/lowLvlBuilders/selects/select.js +0 -16
- package/dist/builders/lowLvlBuilders/selects/selectFrom.d.ts +0 -28
- package/dist/builders/lowLvlBuilders/selects/selectFrom.js +0 -34
- package/dist/builders/lowLvlBuilders/selects/selectJoined.d.ts +0 -26
- package/dist/builders/lowLvlBuilders/selects/selectJoined.js +0 -30
- package/dist/builders/lowLvlBuilders/selects/whereSelect.d.ts +0 -17
- package/dist/builders/lowLvlBuilders/selects/whereSelect.js +0 -25
- package/dist/builders/lowLvlBuilders/updates/update.d.ts +0 -5
- package/dist/builders/lowLvlBuilders/updates/update.js +0 -15
- package/dist/builders/lowLvlBuilders/updates/updateIn.d.ts +0 -13
- package/dist/builders/lowLvlBuilders/updates/updateIn.js +0 -15
- package/dist/builders/lowLvlBuilders/updates/whereSelect.d.ts +0 -11
- package/dist/builders/lowLvlBuilders/updates/whereSelect.js +0 -13
- package/dist/builders/lowLvlBuilders/updates/whereSet.d.ts +0 -14
- package/dist/builders/lowLvlBuilders/updates/whereSet.js +0 -18
- package/dist/builders/requestBuilders/updates/combine.d.ts +0 -9
- package/dist/builders/requestBuilders/updates/combine.js +0 -26
- package/dist/builders/requestBuilders/updates/increment.d.ts +0 -13
- package/dist/builders/requestBuilders/updates/increment.js +0 -18
- package/dist/builders/requestBuilders/updates/setObjects.d.ts +0 -12
- package/dist/builders/requestBuilders/updates/setObjects.js +0 -19
- package/dist/builders/requestBuilders/updates/static.d.ts +0 -7
- package/dist/builders/requestBuilders/updates/static.js +0 -15
- package/dist/builders/requestBuilders/updates/updates.d.ts +0 -9
- package/dist/builders/requestBuilders/updates/updates.js +0 -10
- package/dist/builders/requestBuilders/where/and.d.ts +0 -11
- package/dist/builders/requestBuilders/where/and.js +0 -31
- package/dist/builders/requestBuilders/where/const.d.ts +0 -9
- package/dist/builders/requestBuilders/where/const.js +0 -25
- package/dist/builders/requestBuilders/where/constArray.d.ts +0 -9
- package/dist/builders/requestBuilders/where/constArray.js +0 -39
- package/dist/builders/requestBuilders/where/eqWhere.d.ts +0 -12
- package/dist/builders/requestBuilders/where/eqWhere.js +0 -20
- package/dist/builders/requestBuilders/where/greater.d.ts +0 -15
- package/dist/builders/requestBuilders/where/greater.js +0 -20
- package/dist/builders/requestBuilders/where/greaterEq.d.ts +0 -15
- package/dist/builders/requestBuilders/where/greaterEq.js +0 -20
- package/dist/builders/requestBuilders/where/in.d.ts +0 -12
- package/dist/builders/requestBuilders/where/in.js +0 -20
- package/dist/builders/requestBuilders/where/isNotNull.d.ts +0 -11
- package/dist/builders/requestBuilders/where/isNotNull.js +0 -18
- package/dist/builders/requestBuilders/where/isNull.d.ts +0 -11
- package/dist/builders/requestBuilders/where/isNull.js +0 -18
- package/dist/builders/requestBuilders/where/less.d.ts +0 -15
- package/dist/builders/requestBuilders/where/less.js +0 -20
- package/dist/builders/requestBuilders/where/lessEq.d.ts +0 -15
- package/dist/builders/requestBuilders/where/lessEq.js +0 -20
- package/dist/builders/requestBuilders/where/like.d.ts +0 -12
- package/dist/builders/requestBuilders/where/like.js +0 -20
- package/dist/builders/requestBuilders/where/notEqWhere.d.ts +0 -12
- package/dist/builders/requestBuilders/where/notEqWhere.js +0 -20
- package/dist/builders/requestBuilders/where/or.d.ts +0 -11
- package/dist/builders/requestBuilders/where/or.js +0 -31
- package/dist/builders/requestBuilders/where/rawWhere.d.ts +0 -9
- package/dist/builders/requestBuilders/where/rawWhere.js +0 -15
- package/dist/builders/requestBuilders/where/static.d.ts +0 -17
- package/dist/builders/requestBuilders/where/static.js +0 -49
- package/dist/builders/requestBuilders/where/var.d.ts +0 -13
- package/dist/builders/requestBuilders/where/var.js +0 -18
- package/dist/builders/requestBuilders/where/where.d.ts +0 -8
- package/dist/builders/requestBuilders/where/where.js +0 -6
- package/dist/builders/transaction/transaction.d.ts +0 -8
- package/dist/builders/transaction/transaction.js +0 -20
- package/dist/columns/column.d.ts +0 -72
- package/dist/columns/column.js +0 -101
- package/dist/columns/index.d.ts +0 -10
- package/dist/columns/index.js +0 -27
- package/dist/columns/types/columnType.d.ts +0 -7
- package/dist/columns/types/columnType.js +0 -6
- package/dist/columns/types/pgBigDecimal.d.ts +0 -10
- package/dist/columns/types/pgBigDecimal.js +0 -31
- package/dist/columns/types/pgBigInt.d.ts +0 -15
- package/dist/columns/types/pgBigInt.js +0 -32
- package/dist/columns/types/pgBigSerial.d.ts +0 -15
- package/dist/columns/types/pgBigSerial.js +0 -32
- package/dist/columns/types/pgBoolean.d.ts +0 -8
- package/dist/columns/types/pgBoolean.js +0 -18
- package/dist/columns/types/pgEnum.d.ts +0 -9
- package/dist/columns/types/pgEnum.js +0 -18
- package/dist/columns/types/pgInteger.d.ts +0 -8
- package/dist/columns/types/pgInteger.js +0 -21
- package/dist/columns/types/pgJsonb.d.ts +0 -9
- package/dist/columns/types/pgJsonb.js +0 -20
- package/dist/columns/types/pgSerial.d.ts +0 -8
- package/dist/columns/types/pgSerial.js +0 -18
- package/dist/columns/types/pgSmallInt.d.ts +0 -8
- package/dist/columns/types/pgSmallInt.js +0 -18
- package/dist/columns/types/pgText.d.ts +0 -8
- package/dist/columns/types/pgText.js +0 -18
- package/dist/columns/types/pgTime.d.ts +0 -8
- package/dist/columns/types/pgTime.js +0 -18
- package/dist/columns/types/pgTimestamp.d.ts +0 -8
- package/dist/columns/types/pgTimestamp.js +0 -18
- package/dist/columns/types/pgTimestamptz.d.ts +0 -8
- package/dist/columns/types/pgTimestamptz.js +0 -18
- package/dist/columns/types/pgVarChar.d.ts +0 -9
- package/dist/columns/types/pgVarChar.js +0 -24
- package/dist/db/db.d.ts +0 -18
- package/dist/db/db.js +0 -25
- package/dist/db/dbConnector.d.ts +0 -9
- package/dist/db/dbConnector.js +0 -32
- package/dist/db/dbStringConnector.d.ts +0 -6
- package/dist/db/dbStringConnector.js +0 -29
- package/dist/db/group_by.d.ts +0 -0
- package/dist/db/group_by.js +0 -68
- package/dist/db/index.d.ts +0 -4
- package/dist/db/index.js +0 -14
- package/dist/db/session.d.ts +0 -9
- package/dist/db/session.js +0 -16
- package/dist/docs/cases/simple_delete.d.ts +0 -1
- package/dist/docs/cases/simple_delete.js +0 -35
- package/dist/docs/cases/simple_insert.d.ts +0 -1
- package/dist/docs/cases/simple_insert.js +0 -57
- package/dist/docs/cases/simple_join.d.ts +0 -1
- package/dist/docs/cases/simple_join.js +0 -115
- package/dist/docs/cases/simple_select.d.ts +0 -1
- package/dist/docs/cases/simple_select.js +0 -50
- package/dist/docs/cases/simple_update.d.ts +0 -1
- package/dist/docs/cases/simple_update.js +0 -39
- package/dist/docs/tables/citiesTable.d.ts +0 -14
- package/dist/docs/tables/citiesTable.js +0 -21
- package/dist/docs/tables/userGroupsTable.d.ts +0 -7
- package/dist/docs/tables/userGroupsTable.js +0 -18
- package/dist/docs/tables/usersTable.d.ts +0 -17
- package/dist/docs/tables/usersTable.js +0 -35
- package/dist/docs/tables/usersToUserGroups.d.ts +0 -7
- package/dist/docs/tables/usersToUserGroups.js +0 -20
- package/dist/docs/types/rolesType.d.ts +0 -1
- package/dist/docs/types/rolesType.js +0 -6
- package/dist/errors/baseError.d.ts +0 -22
- package/dist/errors/baseError.js +0 -35
- package/dist/errors/builderError.d.ts +0 -14
- package/dist/errors/builderError.js +0 -25
- package/dist/errors/dbErrors.d.ts +0 -12
- package/dist/errors/dbErrors.js +0 -28
- package/dist/index.d.ts +0 -11
- package/dist/indexes/tableIndex.d.ts +0 -11
- package/dist/indexes/tableIndex.js +0 -17
- package/dist/logger/abstractLogger.d.ts +0 -4
- package/dist/logger/abstractLogger.js +0 -5
- package/dist/logger/consoleLogger.d.ts +0 -5
- package/dist/logger/consoleLogger.js +0 -15
- package/dist/mappers/index.d.ts +0 -0
- package/dist/mappers/index.js +0 -1
- package/dist/mappers/responseMapper.d.ts +0 -10
- package/dist/mappers/responseMapper.js +0 -35
- package/dist/migrator/index.d.ts +0 -0
- package/dist/migrator/index.js +0 -1
- package/dist/migrator/migrator.d.ts +0 -11
- package/dist/migrator/migrator.js +0 -105
- package/dist/serializer/serializer.d.ts +0 -47
- package/dist/serializer/serializer.js +0 -258
- package/dist/tables/abstractTable.d.ts +0 -68
- package/dist/tables/abstractTable.js +0 -151
- package/dist/tables/index.d.ts +0 -3
- package/dist/tables/index.js +0 -11
- package/dist/tables/inferTypes.d.ts +0 -39
- package/dist/tables/inferTypes.js +0 -2
- package/dist/tables/migrationsTable.d.ts +0 -7
- package/dist/tables/migrationsTable.js +0 -18
- package/dist/test.d.ts +0 -1
- package/dist/test.js +0 -65
- package/dist/types/type.d.ts +0 -10
- package/dist/types/type.js +0 -14
- package/dist/utils/ecranate.d.ts +0 -2
- package/dist/utils/ecranate.js +0 -8
- package/pnpm-lock.yaml +0 -1842
- package/src/builders/aggregators/abstractAggregator.ts +0 -41
- package/src/builders/aggregators/deleteAggregator.ts +0 -44
- package/src/builders/aggregators/insertAggregator.ts +0 -120
- package/src/builders/aggregators/selectAggregator.ts +0 -163
- package/src/builders/aggregators/updateAggregator.ts +0 -56
- package/src/builders/highLvlBuilders/abstractRequestBuilder.ts +0 -51
- package/src/builders/highLvlBuilders/deleteRequestBuilder.ts +0 -59
- package/src/builders/highLvlBuilders/insertRequestBuilder.ts +0 -75
- package/src/builders/highLvlBuilders/order.ts +0 -4
- package/src/builders/highLvlBuilders/selectRequestBuilder.ts +0 -229
- package/src/builders/highLvlBuilders/updateRequestBuilder.ts +0 -80
- package/src/builders/index.ts +0 -21
- package/src/builders/joinBuilders/builders/abstractJoinBuilder.ts +0 -98
- package/src/builders/joinBuilders/builders/selectWithFiveJoins.ts +0 -110
- package/src/builders/joinBuilders/builders/selectWithFourJoins.ts +0 -254
- package/src/builders/joinBuilders/builders/selectWithJoin.ts +0 -189
- package/src/builders/joinBuilders/builders/selectWithThreeJoins.ts +0 -231
- package/src/builders/joinBuilders/builders/selectWithTwoJoins.ts +0 -210
- package/src/builders/joinBuilders/join.ts +0 -40
- package/src/builders/joinBuilders/joinWith.ts +0 -21
- package/src/builders/joinBuilders/responses/selectResponseFiveJoins.ts +0 -82
- package/src/builders/joinBuilders/responses/selectResponseFourJoins.ts +0 -73
- package/src/builders/joinBuilders/responses/selectResponseThreeJoins.ts +0 -64
- package/src/builders/joinBuilders/responses/selectResponseTwoJoins.ts +0 -57
- package/src/builders/joinBuilders/responses/selectResponseWithJoin.ts +0 -49
- package/src/builders/joinBuilders/static.ts +0 -9
- package/src/builders/lowLvlBuilders/alter.ts +0 -0
- package/src/builders/lowLvlBuilders/create.ts +0 -115
- package/src/builders/lowLvlBuilders/delets/delete.ts +0 -13
- package/src/builders/lowLvlBuilders/delets/deleteFilter.ts +0 -17
- package/src/builders/lowLvlBuilders/delets/deleteFrom.ts +0 -15
- package/src/builders/lowLvlBuilders/inserts/insert.ts +0 -11
- package/src/builders/lowLvlBuilders/inserts/insertInto.ts +0 -16
- package/src/builders/lowLvlBuilders/inserts/onConflictInsert.ts +0 -19
- package/src/builders/lowLvlBuilders/inserts/valuesInsert.ts +0 -27
- package/src/builders/lowLvlBuilders/selects/select.ts +0 -14
- package/src/builders/lowLvlBuilders/selects/selectFrom.ts +0 -50
- package/src/builders/lowLvlBuilders/selects/selectJoined.ts +0 -44
- package/src/builders/lowLvlBuilders/selects/whereSelect.ts +0 -36
- package/src/builders/lowLvlBuilders/updates/update.ts +0 -13
- package/src/builders/lowLvlBuilders/updates/updateIn.ts +0 -17
- package/src/builders/lowLvlBuilders/updates/whereSelect.ts +0 -17
- package/src/builders/lowLvlBuilders/updates/whereSet.ts +0 -21
- package/src/builders/requestBuilders/updates/combine.ts +0 -34
- package/src/builders/requestBuilders/updates/increment.ts +0 -24
- package/src/builders/requestBuilders/updates/setObjects.ts +0 -27
- package/src/builders/requestBuilders/updates/static.ts +0 -15
- package/src/builders/requestBuilders/updates/updates.ts +0 -8
- package/src/builders/requestBuilders/where/and.ts +0 -35
- package/src/builders/requestBuilders/where/const.ts +0 -23
- package/src/builders/requestBuilders/where/constArray.ts +0 -37
- package/src/builders/requestBuilders/where/eqWhere.ts +0 -20
- package/src/builders/requestBuilders/where/greater.ts +0 -20
- package/src/builders/requestBuilders/where/greaterEq.ts +0 -20
- package/src/builders/requestBuilders/where/in.ts +0 -20
- package/src/builders/requestBuilders/where/isNotNull.ts +0 -17
- package/src/builders/requestBuilders/where/isNull.ts +0 -17
- package/src/builders/requestBuilders/where/less.ts +0 -20
- package/src/builders/requestBuilders/where/lessEq.ts +0 -20
- package/src/builders/requestBuilders/where/like.ts +0 -20
- package/src/builders/requestBuilders/where/notEqWhere.ts +0 -20
- package/src/builders/requestBuilders/where/or.ts +0 -35
- package/src/builders/requestBuilders/where/rawWhere.ts +0 -10
- package/src/builders/requestBuilders/where/static.ts +0 -60
- package/src/builders/requestBuilders/where/var.ts +0 -19
- package/src/builders/requestBuilders/where/where.ts +0 -5
- package/src/builders/transaction/transaction.ts +0 -21
- package/src/columns/column.ts +0 -195
- package/src/columns/index.ts +0 -10
- package/src/columns/types/columnType.ts +0 -8
- package/src/columns/types/pgBigDecimal.ts +0 -29
- package/src/columns/types/pgBigInt.ts +0 -36
- package/src/columns/types/pgBigSerial.ts +0 -36
- package/src/columns/types/pgBoolean.ts +0 -18
- package/src/columns/types/pgEnum.ts +0 -17
- package/src/columns/types/pgInteger.ts +0 -21
- package/src/columns/types/pgJsonb.ts +0 -21
- package/src/columns/types/pgSerial.ts +0 -18
- package/src/columns/types/pgSmallInt.ts +0 -18
- package/src/columns/types/pgText.ts +0 -18
- package/src/columns/types/pgTime.ts +0 -18
- package/src/columns/types/pgTimestamp.ts +0 -18
- package/src/columns/types/pgTimestamptz.ts +0 -18
- package/src/columns/types/pgVarChar.ts +0 -24
- package/src/db/db.ts +0 -43
- package/src/db/dbConnector.ts +0 -30
- package/src/db/dbStringConnector.ts +0 -29
- package/src/db/group_by.ts +0 -75
- package/src/db/index.ts +0 -4
- package/src/db/session.ts +0 -16
- package/src/docs/cases/simple_delete.ts +0 -35
- package/src/docs/cases/simple_insert.ts +0 -65
- package/src/docs/cases/simple_join.ts +0 -140
- package/src/docs/cases/simple_select.ts +0 -72
- package/src/docs/cases/simple_update.ts +0 -40
- package/src/docs/tables/citiesTable.ts +0 -22
- package/src/docs/tables/userGroupsTable.ts +0 -12
- package/src/docs/tables/usersTable.ts +0 -33
- package/src/docs/tables/usersToUserGroups.ts +0 -14
- package/src/docs/types/rolesType.ts +0 -4
- package/src/errors/baseError.ts +0 -47
- package/src/errors/builderError.ts +0 -31
- package/src/errors/dbErrors.ts +0 -24
- package/src/index.ts +0 -20
- package/src/indexes/tableIndex.ts +0 -25
- package/src/logger/abstractLogger.ts +0 -4
- package/src/logger/consoleLogger.ts +0 -11
- package/src/mappers/index.ts +0 -0
- package/src/mappers/responseMapper.ts +0 -46
- package/src/migrator/index.ts +0 -0
- package/src/migrator/migrator.ts +0 -97
- package/src/serializer/serializer.ts +0 -336
- package/src/tables/abstractTable.ts +0 -188
- package/src/tables/index.ts +0 -4
- package/src/tables/inferTypes.ts +0 -67
- package/src/tables/migrationsTable.ts +0 -11
- package/src/types/type.ts +0 -15
- package/src/utils/ecranate.ts +0 -4
- package/tsconfig.json +0 -14
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
// eslint-disable-next-line max-classes-per-file
|
|
2
|
-
import ColumnType from './columnType';
|
|
3
|
-
|
|
4
|
-
export default class PgBigInt53 extends ColumnType<number> {
|
|
5
|
-
public dbName: string;
|
|
6
|
-
|
|
7
|
-
public constructor() {
|
|
8
|
-
super();
|
|
9
|
-
this.dbName = 'BIGINT';
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
public getDbName = (): string => this.dbName;
|
|
13
|
-
|
|
14
|
-
public insertStrategy = (value: number): string => `${value}`;
|
|
15
|
-
|
|
16
|
-
public selectStrategy(value: string): number | undefined {
|
|
17
|
-
return value ? parseInt(value, 10) : undefined;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export class PgBigInt64 extends ColumnType<bigint> {
|
|
22
|
-
public dbName: string;
|
|
23
|
-
|
|
24
|
-
public constructor() {
|
|
25
|
-
super();
|
|
26
|
-
this.dbName = 'BIGINT';
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
public getDbName = (): string => this.dbName;
|
|
30
|
-
|
|
31
|
-
public insertStrategy = (value: bigint): string => `${value}`;
|
|
32
|
-
|
|
33
|
-
public selectStrategy(value: string): bigint | undefined {
|
|
34
|
-
return value ? BigInt(value) : undefined;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/* eslint-disable max-classes-per-file */
|
|
2
|
-
import ColumnType from './columnType';
|
|
3
|
-
|
|
4
|
-
export default class PgBigSerial53 extends ColumnType<number> {
|
|
5
|
-
public dbName: string;
|
|
6
|
-
|
|
7
|
-
public constructor() {
|
|
8
|
-
super();
|
|
9
|
-
this.dbName = 'BIGSERIAL';
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
public getDbName = (): string => this.dbName;
|
|
13
|
-
|
|
14
|
-
public insertStrategy = (value: number): string => `${value}`;
|
|
15
|
-
|
|
16
|
-
public selectStrategy(value: string): number | undefined {
|
|
17
|
-
return value ? parseInt(value, 10) : undefined;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export class PgBigSerial64 extends ColumnType<bigint> {
|
|
22
|
-
public dbName: string;
|
|
23
|
-
|
|
24
|
-
public constructor() {
|
|
25
|
-
super();
|
|
26
|
-
this.dbName = 'BIGSERIAL';
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
public getDbName = (): string => this.dbName;
|
|
30
|
-
|
|
31
|
-
public insertStrategy = (value: bigint): string => `${value}`;
|
|
32
|
-
|
|
33
|
-
public selectStrategy(value: string): bigint | undefined {
|
|
34
|
-
return value ? BigInt(value) : undefined;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import ColumnType from './columnType';
|
|
2
|
-
|
|
3
|
-
export default class PgBoolean extends ColumnType<boolean> {
|
|
4
|
-
public dbName: string;
|
|
5
|
-
|
|
6
|
-
public constructor() {
|
|
7
|
-
super();
|
|
8
|
-
this.dbName = 'boolean';
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
public getDbName = (): string => this.dbName;
|
|
12
|
-
|
|
13
|
-
public insertStrategy = (value: boolean): string => `${value}`;
|
|
14
|
-
|
|
15
|
-
public selectStrategy(value: boolean): boolean {
|
|
16
|
-
return value;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import ColumnType from './columnType';
|
|
2
|
-
|
|
3
|
-
export default class PgEnum<TCodeType> extends ColumnType {
|
|
4
|
-
public codeType: TCodeType;
|
|
5
|
-
public dbName: string;
|
|
6
|
-
|
|
7
|
-
public constructor(dbName: string) {
|
|
8
|
-
super();
|
|
9
|
-
this.dbName = dbName;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
public getDbName = (): string => this.dbName;
|
|
13
|
-
public insertStrategy = (value: TCodeType): string => `${value}`;
|
|
14
|
-
public selectStrategy(value: any): TCodeType {
|
|
15
|
-
return value;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import ColumnType from './columnType';
|
|
2
|
-
|
|
3
|
-
export default class PgInteger extends ColumnType<number> {
|
|
4
|
-
public dbName: string;
|
|
5
|
-
|
|
6
|
-
public constructor() {
|
|
7
|
-
super();
|
|
8
|
-
this.dbName = 'INT';
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
public getDbName = (): string => this.dbName;
|
|
12
|
-
|
|
13
|
-
public insertStrategy = (value: number): string => `${value}`;
|
|
14
|
-
|
|
15
|
-
public selectStrategy(value: number): number | undefined {
|
|
16
|
-
if (typeof value === 'string') {
|
|
17
|
-
return value ? parseInt(value, 10) : undefined;
|
|
18
|
-
}
|
|
19
|
-
return value;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/* eslint-disable max-len */
|
|
2
|
-
import ColumnType from './columnType';
|
|
3
|
-
|
|
4
|
-
export default class PgJsonb<TCodeType> extends ColumnType<TCodeType> {
|
|
5
|
-
public codeType: TCodeType;
|
|
6
|
-
public dbName: string;
|
|
7
|
-
|
|
8
|
-
public constructor() {
|
|
9
|
-
super();
|
|
10
|
-
this.dbName = 'JSONB';
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
public getDbName = (): string => this.dbName;
|
|
14
|
-
|
|
15
|
-
// public insertStrategy = (value: TCodeType): string => `'${JSON.stringify(value).replace(/'/g, "''")}'::jsonb`;
|
|
16
|
-
public insertStrategy = (value: TCodeType): string => `${JSON.stringify(value).replace(/'/g, "''")}`;
|
|
17
|
-
|
|
18
|
-
public selectStrategy(value: any): TCodeType {
|
|
19
|
-
return value;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import ColumnType from './columnType';
|
|
2
|
-
|
|
3
|
-
export default class PgSerial extends ColumnType<number> {
|
|
4
|
-
public dbName: string;
|
|
5
|
-
|
|
6
|
-
public constructor() {
|
|
7
|
-
super();
|
|
8
|
-
this.dbName = 'SERIAL';
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
public getDbName = (): string => this.dbName;
|
|
12
|
-
|
|
13
|
-
public insertStrategy = (value: number): string => `${value}`;
|
|
14
|
-
|
|
15
|
-
public selectStrategy(value: number): number | undefined {
|
|
16
|
-
return value;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import ColumnType from './columnType';
|
|
2
|
-
|
|
3
|
-
export default class PgSmallInt extends ColumnType<number> {
|
|
4
|
-
public dbName: string;
|
|
5
|
-
|
|
6
|
-
public constructor() {
|
|
7
|
-
super();
|
|
8
|
-
this.dbName = 'SMALLINT';
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
public getDbName = (): string => this.dbName;
|
|
12
|
-
|
|
13
|
-
public insertStrategy = (value: number): string => `${value}`;
|
|
14
|
-
|
|
15
|
-
public selectStrategy(value: number): number | undefined {
|
|
16
|
-
return value;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import ColumnType from './columnType';
|
|
2
|
-
|
|
3
|
-
export default class PgText extends ColumnType<string> {
|
|
4
|
-
protected dbName: string;
|
|
5
|
-
|
|
6
|
-
public constructor() {
|
|
7
|
-
super();
|
|
8
|
-
this.dbName = 'TEXT';
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
public getDbName = (): string => this.dbName;
|
|
12
|
-
|
|
13
|
-
public insertStrategy = (value: string): string => `${value.replace(/'/g, "''")}`;
|
|
14
|
-
|
|
15
|
-
public selectStrategy(value: string): string {
|
|
16
|
-
return value;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import ColumnType from './columnType';
|
|
2
|
-
|
|
3
|
-
export default class PgTime extends ColumnType<Date> {
|
|
4
|
-
public dbName: string;
|
|
5
|
-
|
|
6
|
-
public constructor() {
|
|
7
|
-
super();
|
|
8
|
-
this.dbName = 'time without time zone';
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
public getDbName = (): string => this.dbName;
|
|
12
|
-
|
|
13
|
-
public insertStrategy = (value: Date): string => value.toISOString();
|
|
14
|
-
|
|
15
|
-
public selectStrategy(value: any): Date {
|
|
16
|
-
return value;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import ColumnType from './columnType';
|
|
2
|
-
|
|
3
|
-
export default class PgTimestamp extends ColumnType<Date> {
|
|
4
|
-
public dbName: string;
|
|
5
|
-
|
|
6
|
-
public constructor() {
|
|
7
|
-
super();
|
|
8
|
-
this.dbName = 'timestamp without time zone';
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
public getDbName = (): string => this.dbName;
|
|
12
|
-
|
|
13
|
-
public insertStrategy = (value: Date): string => `${value.toISOString()}`;
|
|
14
|
-
|
|
15
|
-
public selectStrategy(value: any): Date {
|
|
16
|
-
return value;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import ColumnType from './columnType';
|
|
2
|
-
|
|
3
|
-
export default class PgTimestamptz extends ColumnType<Date> {
|
|
4
|
-
public dbName: string;
|
|
5
|
-
|
|
6
|
-
public constructor() {
|
|
7
|
-
super();
|
|
8
|
-
this.dbName = 'timestamp with time zone';
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
public getDbName = (): string => this.dbName;
|
|
12
|
-
|
|
13
|
-
public insertStrategy = (value: Date): string => `${value.toISOString()}`;
|
|
14
|
-
|
|
15
|
-
public selectStrategy(value: any): Date {
|
|
16
|
-
return value;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import ColumnType from './columnType';
|
|
2
|
-
|
|
3
|
-
export default class PgVarChar extends ColumnType<string> {
|
|
4
|
-
public size?: number;
|
|
5
|
-
protected dbName: string;
|
|
6
|
-
|
|
7
|
-
public constructor(size?: number) {
|
|
8
|
-
super();
|
|
9
|
-
this.size = size;
|
|
10
|
-
if (size) {
|
|
11
|
-
this.dbName = `character varying(${size})`;
|
|
12
|
-
} else {
|
|
13
|
-
this.dbName = 'character varying';
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
public getDbName = (): string => this.dbName;
|
|
18
|
-
|
|
19
|
-
public insertStrategy = (value: string): string => `${value.replace(/'/g, "''")}`;
|
|
20
|
-
|
|
21
|
-
public selectStrategy(value: string): string {
|
|
22
|
-
return value;
|
|
23
|
-
}
|
|
24
|
-
}
|
package/src/db/db.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/* eslint-disable max-classes-per-file */
|
|
2
|
-
import BaseLogger from '../logger/abstractLogger';
|
|
3
|
-
import { AbstractTable } from '../tables';
|
|
4
|
-
import { ISession } from './session';
|
|
5
|
-
|
|
6
|
-
export type TableConstructor = { new (db: DB): AbstractTable<any>};
|
|
7
|
-
|
|
8
|
-
export default class DB {
|
|
9
|
-
protected _session: ISession;
|
|
10
|
-
protected _logger?: BaseLogger;
|
|
11
|
-
|
|
12
|
-
protected _cache = new Map<TableConstructor, AbstractTable<any>>();
|
|
13
|
-
|
|
14
|
-
public constructor(session: ISession) {
|
|
15
|
-
this._session = session;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
public create<TTable extends AbstractTable<TTable>>(t: new (db: DB) => TTable)
|
|
19
|
-
: TTable {
|
|
20
|
-
if (!this._cache.has(t)) {
|
|
21
|
-
// eslint-disable-next-line new-cap
|
|
22
|
-
this._cache.set(t, new t(this));
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return this._cache.get(t)! as TTable;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
public useLogger = (logger: BaseLogger): void => {
|
|
29
|
-
this._logger = logger;
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
public cache = () => this._cache;
|
|
33
|
-
|
|
34
|
-
public logger = (): BaseLogger | undefined => this._logger;
|
|
35
|
-
|
|
36
|
-
public session = (): ISession => this._session;
|
|
37
|
-
|
|
38
|
-
protected instanceFor<TTable extends AbstractTable<TTable>>(
|
|
39
|
-
t: new (db: DB) => TTable,
|
|
40
|
-
) {
|
|
41
|
-
return this._cache.get(t);
|
|
42
|
-
}
|
|
43
|
-
}
|
package/src/db/dbConnector.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { ClientConfig, Pool } from 'pg';
|
|
2
|
-
import DB from './db';
|
|
3
|
-
import DBStringConnector from './dbStringConnector';
|
|
4
|
-
import Session from './session';
|
|
5
|
-
|
|
6
|
-
export default class DbConnector {
|
|
7
|
-
private __config: ClientConfig;
|
|
8
|
-
|
|
9
|
-
public connectionString = (url: string): DBStringConnector => new DBStringConnector(url);
|
|
10
|
-
|
|
11
|
-
public params = (config: ClientConfig): DbConnector => {
|
|
12
|
-
this.__config = config;
|
|
13
|
-
return this;
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
public connect = async (): Promise<DB> => {
|
|
17
|
-
try {
|
|
18
|
-
const pool = new Pool(this.__config);
|
|
19
|
-
await pool.connect();
|
|
20
|
-
// console.log('Db connected!');
|
|
21
|
-
|
|
22
|
-
// check if table structure is the same as in code
|
|
23
|
-
|
|
24
|
-
return new DB(new Session(pool));
|
|
25
|
-
} catch (e: any) {
|
|
26
|
-
// console.log(`Connection error: ${e.message}`);
|
|
27
|
-
throw new Error(`Connection error: ${e.message}`);
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { ClientConfig, Pool } from 'pg';
|
|
2
|
-
import Db from './db';
|
|
3
|
-
import Session from './session';
|
|
4
|
-
|
|
5
|
-
export default class DBStringConnector {
|
|
6
|
-
private _url: string;
|
|
7
|
-
|
|
8
|
-
public constructor(url: string) {
|
|
9
|
-
this._url = url;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
public connect = async (): Promise<Db> => {
|
|
13
|
-
const config = {
|
|
14
|
-
connectionString: this._url,
|
|
15
|
-
} as ClientConfig;
|
|
16
|
-
|
|
17
|
-
try {
|
|
18
|
-
const pool = new Pool(config);
|
|
19
|
-
|
|
20
|
-
await pool.connect();
|
|
21
|
-
// console.log('Db connected!');
|
|
22
|
-
|
|
23
|
-
return new Db(new Session(pool));
|
|
24
|
-
} catch (e: any) {
|
|
25
|
-
// console.log(`Connection error: ${e.message}`);
|
|
26
|
-
throw new Error(`Connection error: ${e.message}`);
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
}
|
package/src/db/group_by.ts
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
// const _groupBy = <T, K extends keyof any>(list: T[], getKey: (item: T) => K) => {
|
|
2
|
-
// list.reduce((previous, currentItem) => {
|
|
3
|
-
// const group = getKey(currentItem);
|
|
4
|
-
// // eslint-disable-next-line no-param-reassign
|
|
5
|
-
// if (!previous[group]) previous[group] = [];
|
|
6
|
-
// previous[group].push(currentItem);
|
|
7
|
-
// return previous;
|
|
8
|
-
// }, {} as Record<K, T[]>);
|
|
9
|
-
// };
|
|
10
|
-
|
|
11
|
-
// const groupBy = (xs, key) => xs.reduce((rv, x) => {
|
|
12
|
-
// (rv[x[key]] = rv[x[key]] || []).push(x);
|
|
13
|
-
// return rv;
|
|
14
|
-
// }, {});
|
|
15
|
-
|
|
16
|
-
// interface Mapp {
|
|
17
|
-
// [key: string]: any;
|
|
18
|
-
// }
|
|
19
|
-
|
|
20
|
-
// const groupBy1 = <K, V>(list: Array<K>, keyGetter: (input: V) => K): Map<K, Array<V>> => {
|
|
21
|
-
// const map = new Map<K, Array<V>>();
|
|
22
|
-
// list.forEach((item) => {
|
|
23
|
-
// const key = keyGetter(item as unknown as V);
|
|
24
|
-
// const collection = map.get(key);
|
|
25
|
-
// console.log(collection);
|
|
26
|
-
// console.log(map.has(key));
|
|
27
|
-
// if (!collection) {
|
|
28
|
-
// map.set(key, [item as unknown as V]);
|
|
29
|
-
// } else {
|
|
30
|
-
// collection.push(item as unknown as V);
|
|
31
|
-
// }
|
|
32
|
-
// });
|
|
33
|
-
// return map;
|
|
34
|
-
// };
|
|
35
|
-
|
|
36
|
-
// interface T1 {
|
|
37
|
-
// name: string,
|
|
38
|
-
// key: number
|
|
39
|
-
// }
|
|
40
|
-
|
|
41
|
-
// interface T2 {
|
|
42
|
-
// name: string,
|
|
43
|
-
// hello: number
|
|
44
|
-
// }
|
|
45
|
-
|
|
46
|
-
// interface Person {
|
|
47
|
-
// t1: T1,
|
|
48
|
-
// t2: T2
|
|
49
|
-
// }
|
|
50
|
-
|
|
51
|
-
// const person: Person[] = [
|
|
52
|
-
// {
|
|
53
|
-
// t1: {
|
|
54
|
-
// name: 'name',
|
|
55
|
-
// key: 2,
|
|
56
|
-
// },
|
|
57
|
-
// t2: {
|
|
58
|
-
// name: 'name',
|
|
59
|
-
// hello: 2,
|
|
60
|
-
// },
|
|
61
|
-
// },
|
|
62
|
-
// {
|
|
63
|
-
// t1: {
|
|
64
|
-
// name: 'name',
|
|
65
|
-
// key: 2,
|
|
66
|
-
// },
|
|
67
|
-
// t2: {
|
|
68
|
-
// name: 'name3',
|
|
69
|
-
// hello: 3,
|
|
70
|
-
// },
|
|
71
|
-
// },
|
|
72
|
-
// ];
|
|
73
|
-
// const d = groupBy1(person, (i: Person) => i.t1);
|
|
74
|
-
|
|
75
|
-
// console.log(d);
|
package/src/db/index.ts
DELETED
package/src/db/session.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/* eslint-disable max-classes-per-file */
|
|
2
|
-
import { Pool, QueryResult } from 'pg';
|
|
3
|
-
|
|
4
|
-
export abstract class ISession {
|
|
5
|
-
public abstract execute(query: string, values?: Array<any>): Promise<QueryResult<any>>;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export default class Session extends ISession {
|
|
9
|
-
public constructor(private pool: Pool) {
|
|
10
|
-
super();
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
public async execute(query: string, values?: Array<any>): Promise<QueryResult<any>> {
|
|
14
|
-
return this.pool.query(query, values || []);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
|
-
import { DbConnector } from '../..';
|
|
3
|
-
import { eq } from '../../builders';
|
|
4
|
-
import ConsoleLogger from '../../logger/consoleLogger';
|
|
5
|
-
import CitiesTable from '../tables/citiesTable';
|
|
6
|
-
import UserGroupsTable from '../tables/userGroupsTable';
|
|
7
|
-
import UsersTable from '../tables/usersTable';
|
|
8
|
-
|
|
9
|
-
(async () => {
|
|
10
|
-
try {
|
|
11
|
-
const db = await new DbConnector()
|
|
12
|
-
.connectionString('postgresql://postgres@127.0.0.1/migrator')
|
|
13
|
-
.connect();
|
|
14
|
-
|
|
15
|
-
db.useLogger(new ConsoleLogger());
|
|
16
|
-
|
|
17
|
-
const usersTable = new UsersTable(db);
|
|
18
|
-
const citiesTable = new CitiesTable(db);
|
|
19
|
-
const userGroupsTable = new UserGroupsTable(db);
|
|
20
|
-
|
|
21
|
-
await usersTable.delete()
|
|
22
|
-
.where(eq(usersTable.id, 6))
|
|
23
|
-
.execute();
|
|
24
|
-
|
|
25
|
-
const deletedCities = await citiesTable.delete()
|
|
26
|
-
.where(eq(citiesTable.id, 7))
|
|
27
|
-
.all();
|
|
28
|
-
|
|
29
|
-
const deletedUserGroup = await userGroupsTable.delete()
|
|
30
|
-
.where(eq(userGroupsTable.id, 3))
|
|
31
|
-
.findOne();
|
|
32
|
-
} catch (e) {
|
|
33
|
-
console.log(e);
|
|
34
|
-
}
|
|
35
|
-
})();
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
|
-
import Create from '../../builders/lowLvlBuilders/create';
|
|
3
|
-
import DbConnector from '../../db/dbConnector';
|
|
4
|
-
import ConsoleLogger from '../../logger/consoleLogger';
|
|
5
|
-
import CitiesTable from '../tables/citiesTable';
|
|
6
|
-
import UserGroupsTable from '../tables/userGroupsTable';
|
|
7
|
-
import UsersTable from '../tables/usersTable';
|
|
8
|
-
|
|
9
|
-
(async () => {
|
|
10
|
-
try {
|
|
11
|
-
const db = await new DbConnector()
|
|
12
|
-
.connectionString('postgresql://postgres@127.0.0.1/migrator')
|
|
13
|
-
.connect();
|
|
14
|
-
|
|
15
|
-
const usersTable = new UsersTable(db);
|
|
16
|
-
const citiesTable = new CitiesTable(db);
|
|
17
|
-
const userGroupsTable = new UserGroupsTable(db);
|
|
18
|
-
|
|
19
|
-
// await db.session().execute(Create.table(usersTable).build());
|
|
20
|
-
// await db.session().execute(Create.table(citiesTable).build());
|
|
21
|
-
// await db.session().execute(Create.table(userGroupsTable).build());
|
|
22
|
-
|
|
23
|
-
db.useLogger(new ConsoleLogger());
|
|
24
|
-
|
|
25
|
-
await usersTable.insert({
|
|
26
|
-
decimalField: 12.4,
|
|
27
|
-
createdAt: new Date(),
|
|
28
|
-
role: 'foo',
|
|
29
|
-
}).execute();
|
|
30
|
-
|
|
31
|
-
const insertedCities = await citiesTable.insert({
|
|
32
|
-
foundationDate: new Date(),
|
|
33
|
-
}).all();
|
|
34
|
-
|
|
35
|
-
const insertedUserGroup = await userGroupsTable.insert({
|
|
36
|
-
name: 'firstGroup',
|
|
37
|
-
}).findOne();
|
|
38
|
-
|
|
39
|
-
const manyInsertedCities = await citiesTable.insertMany([{
|
|
40
|
-
foundationDate: new Date(),
|
|
41
|
-
location: 'USA',
|
|
42
|
-
}, {
|
|
43
|
-
foundationDate: new Date(),
|
|
44
|
-
location: 'USA',
|
|
45
|
-
userId: 2,
|
|
46
|
-
}]).all();
|
|
47
|
-
|
|
48
|
-
const conflictInsertedUsers = await usersTable.insertMany([{
|
|
49
|
-
decimalField: 12.4,
|
|
50
|
-
createdAt: new Date(),
|
|
51
|
-
role: 'foo',
|
|
52
|
-
}, {
|
|
53
|
-
decimalField: 32.4,
|
|
54
|
-
createdAt: new Date(),
|
|
55
|
-
role: 'foo',
|
|
56
|
-
phone: '+1808',
|
|
57
|
-
}])
|
|
58
|
-
.onConflict(
|
|
59
|
-
(table) => table.phoneIndex,
|
|
60
|
-
{ isArchived: true },
|
|
61
|
-
).all();
|
|
62
|
-
} catch (e) {
|
|
63
|
-
console.log(e);
|
|
64
|
-
}
|
|
65
|
-
})();
|