Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dev: TypeORM for ydb-nodejs-sdk #192

Open
29 tasks
asmyasnikov opened this issue Nov 1, 2022 · 3 comments
Open
29 tasks

dev: TypeORM for ydb-nodejs-sdk #192

asmyasnikov opened this issue Nov 1, 2022 · 3 comments
Assignees
Labels

Comments

@asmyasnikov
Copy link
Member

asmyasnikov commented Nov 1, 2022

Make YDB support in TypeORM (https://typeorm.io).

Since the topic is large, the work is divided into stages

Legend:

    □ - need to be written and tested

    ± - in the code, but not tested yet

    🗸 - done and tested
  1. □ Add support for Generic Query Service, which will be used to retrieve data for TypeORM (dev: Add generic query service #337).

  2. □ Implement a minimal set of methods to support functionality listed in the TypeORM Quick start (https://typeorm.io/#quick-start)
    Keep already existing code from https://github.com/ydb-platform/typeorm and test it.
    Interface methods required for the Quick start are collected by trace - for details see https://github.com/Zork33/typeorm/tree/planning-steps-for-implementation

  • YdbDriver:afterConnect #351
  • ± YdbDriver:buildTableName
  • ± YdbDriver:connect
  • ± YdbDriver:disconnect
  • ± YdbDriver:createGeneratedMap
  • □ YdbDriver:createParameter
  • ± YdbDriver:createQueryRunner
  • ± YdbDriver:createSchemaBuilder
  • ± YdbDriver:escape
  • ± YdbDriver:escapeQueryWithParameters
  • □ YdbDriver:findChangedColumns
  • □ YdbDriver:getColumnLength
  • □ YdbDriver:isReturningSqlSupported
  • □ YdbDriver:normalizeDefault
  • □ YdbDriver:normalizeIsUnique
  • ± YdbDriver:normalizeType
  • □ YdbDriver:obtainMasterConnection
  • ± YdbDriver:parseTableName
  • □ YdbDriver:prepareHydratedValue
  • □ YdbDriver:preparePersistentValue
  • ± YdbQueryRunner:commitTransaction
  • ± YdbQueryRunner:connect
  • □ YdbQueryRunner:getCurrentDatabase
  • □ YdbQueryRunner:getCurrentSchema
  • □ YdbQueryRunner:hasTable
  • ± YdbQueryRunner:rollbackTransaction
  • ± YdbQueryRunner:query
  • □ YdbQueryRunner:release
  • ± YdbQueryRunner:startTransaction
  1. □ Realize the generation of migrations scripts based on the existing Postgres example

  2. □ Make an example of seeding (initial filling of dictionaries) on the basis of migrations scripts.

  3. □ It is desirable that the model of types was as close as possible to postgres implementation, to facilitate the transition

6... Further implement the rest of YdbDriver and YdbQueryRunner methods. There are less than half of them in the initial list

Depends from:

@DavyJohnes
Copy link
Collaborator

cc: @nikolaymatrosov

@DavyJohnes
Copy link
Collaborator

DavyJohnes commented Nov 2, 2022

@zeruk zeruk changed the title ORM for ydb-nodejs-sdk TypeORM for ydb-nodejs-sdk Nov 9, 2022
@Zork33 Zork33 assigned Zork33 and unassigned zeruk Aug 15, 2023
@Zork33 Zork33 changed the title TypeORM for ydb-nodejs-sdk dev: TypeORM for ydb-nodejs-sdk Dec 19, 2023
@Zork33
Copy link
Collaborator

Zork33 commented Dec 27, 2023

A detailed implementation plan has been added to the issue description

@polRk polRk assigned polRk and unassigned Zork33 Dec 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants