1602 / jugglingdb

Multi-database ORM for nodejs: redis, mongodb, mysql, sqlite3, postgresql, arango, in-memory...
http://1602.github.io/jugglingdb/
2.05k stars 241 forks source link

No schema? #411

Open jdarling opened 10 years ago

jdarling commented 10 years ago

I searched for this and couldn't really see an answer to it. Can you use JugglingDB without a schema? Or a way to use it with a minimal schema (must contain at least but can contain more than)?

Basically just use JugglingDB as an abstraction/access layer?

1602 commented 10 years ago

You can't use jugglingdb without schema. Could you please clarify what you mean by minimal schema?

jdarling commented 10 years ago

Sure, say I have a "contacts" schema. Minimum I want firstName and lastName, but I don't know what else will be stored to it. So I would like to be able to stuff anything in along with firstName and lastName.

IE: I may have the following object to store even though my schema is only firstName and lastName

{
  firstName: 'Jeremy',
  lastName: 'Darling',
  githubAccount: 'jdarling'
}
anatoliychakkaev commented 10 years ago

It won't work. Store unknown details in JSON field.

On Thu, Jul 17, 2014 at 7:19 AM, jdarling notifications@github.com wrote:

Sure, say I have a "contacts" schema. Minimum I want firstName and lastName, but I don't know what else will be stored to it. So I would like to be able to stuff anything in along with firstName and lastName. IE: I may have the following object to store even though my schema is only firstName and lastName

{
  firstName: 'Jeremy',
  lastName: 'Darling',
  githubAccount: 'jdarling'
}

Reply to this email directly or view it on GitHub: https://github.com/1602/jugglingdb/issues/411#issuecomment-49254448

pasindud commented 10 years ago

I also have come across same use cases , is it the same case when using mongo adapter ?

anatoliychakkaev commented 10 years ago

Yes

On 10 August 2014 12:57, Pasindu De Silva notifications@github.com wrote:

I also have come across same use cases , is it the same case when using mongo adapter ?

— Reply to this email directly or view it on GitHub https://github.com/1602/jugglingdb/issues/411#issuecomment-51712825.

Thanks, Anatoliy Chakkaev

pasindud commented 10 years ago

wouldn't that defeat the purpose about nosql being schema-less ?

anatoliychakkaev commented 10 years ago

Short answer is "no". In practice when you need something schema-less, that means that you have architecture problem. All that schema-less gives you is friction free migration and development.

On 14 August 2014 12:40, Pasindu De Silva notifications@github.com wrote:

wouldn't that defeat the purpose about nosql being schema-less ?

— Reply to this email directly or view it on GitHub https://github.com/1602/jugglingdb/issues/411#issuecomment-52173015.

Thanks, Anatoliy Chakkaev

bmiller59 commented 8 years ago

I have a reason to use the JSON schema format in my app. Could I do my own schema validation and use JugglingDB simply for access? Or could a plug in for schema validation be designed to replace the default schema system in JugglingDB?

What would you recommend in this case to avoid duplicating schemas? What type of pull request would you accept in this regard? JSON schema is growing in popularity and standardization. Thank you.

http://json-schema.org/

1602 commented 8 years ago

This one is deep change of jugglingdb internals. I need to keep this requirement in mind while rebuilding stuff for major release. It could be completely schema-less with some restrictions, i.e. no automigrations for sql, different approach for data types handling, etc.. This should be carefully considered.

mansuleman commented 8 years ago

What are some of the drivers that force us to remove the schema?

GerkinDev commented 6 years ago

Would be nice for me too to have a "minimal schema". Any news on this?