toeverything / OctoBase

🐙 OctoBase is the open-source database behind AFFiNE, local-first, yet collaborative. A light-weight, scalable, data engine written in Rust.
https://octobase.dev
GNU Affero General Public License v3.0
1.29k stars 82 forks source link

Migrate AFFiNE specified server codes into AFFiNE monorepo #381

Open Brooooooklyn opened 1 year ago

Brooooooklyn commented 1 year ago

Motivation

OctoBase contains too much AFFiNE business-related logic, which makes the scope of OctoBase very unclear. And it also makes it difficult for external developers to easily get started with OctoBase and contribute to it. Then, using Rust to develop CRUD was very inefficient, and we wanted to be able to develop the business layer logic in Node.js and keep shipping fast.

Scope

### Migration path
- [ ] https://github.com/toeverything/AFFiNE/issues/1921
- [ ] Migrate ORM layer
- [ ] Glue Rust server with Node.js. This allows AFFiNE developers to migrate smoothly to Node.js locally
- [ ] Retire AFFiNE specified server codes
affine-bot commented 1 year ago

Hello! Thank you for filing an issue. If this is a bug report, please include relevant logs to help us debug the problem.

darkskygit commented 1 year ago

i think it is reasonable to migrate curd to nodejs I think there are two feature that should also be clear included in the scope of octobase:

Brooooooklyn commented 1 year ago

@darkskygit updated its into Database integration

zuoxiaodong0815 commented 1 year ago

I think the sub-doc sync and data upgrade may need consideration in future.