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

0.1.0 To Do Tasks #1

Closed
36 tasks done
billy1624 opened this issue May 4, 2021 · 0 comments
Closed
36 tasks done

0.1.0 To Do Tasks #1

billy1624 opened this issue May 4, 2021 · 0 comments

Comments

@billy1624
Copy link
Member

billy1624 commented May 4, 2021

  1. Connection

  2. ORM Core

    • Components
      • Entity: encapsulates all the necessary specification of the corresponding database table
        • Column: column name
        • PrimaryKey: primary key name
        • Relation: definition of relation between tables
      • Model: struct to store the data of a database row
    • Query Result
    • Entity Generator
  3. Select from Table

    • Execute the SelectStatment and return one or many models
    • Select into custom (ad hoc) models
    • where (filter and condition)
    • order_by
    • Paginate selection result
      • Stream sync item (Pagination API #5)
        i.e. into impl Stream<Item = Result<_, _>>
      • Test cases for Paginator implemented with mock connection
    • Relations: one to one and one to many
    • Relation: many to many via junction table
  4. Insert into Table

    • Insert one model into database
    • Insert multiple models as a single query
  5. Update from Table

    • Update a whole model to a row
    • ActiveModel: wrap Model and indicates which fields are modified, and only update respective columns
    • save semantics: insert if model is new, otherwise update
    • Update many using filters
  6. Delete from Table

    • Delete one model
    • Delete many models using filters (similar to select)
  7. Utility (sea-orm-cli #24)

    • Discovery: generate command to generate entities from existing database
  8. Test suite

@billy1624 billy1624 added this to the 0.1.0 milestone May 4, 2021
@tyt2y3 tyt2y3 removed this from the 0.1.0 milestone May 7, 2021
@tyt2y3 tyt2y3 changed the title 0.1.0 To Do List 0.1.0 To Do Tasks May 21, 2021
@tyt2y3 tyt2y3 added this to the 0.1.0 milestone May 21, 2021
@tyt2y3 tyt2y3 closed this as completed Sep 3, 2021
billy1624 added a commit that referenced this issue Mar 16, 2022
* added example for axum + graphql

* clean up

* removed macos file

* Pr/587 (#1)

* Migrate on startup

* Update CI

* Add .gitignore

* Add README

Co-authored-by: Billy Chan <[email protected]>

Co-authored-by: Billy Chan <[email protected]>
tyt2y3 pushed a commit that referenced this issue Sep 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants