propelorm / Propel2

Propel2 is an open-source high-performance Object-Relational Mapping (ORM) for modern PHP
http://propelorm.org/
MIT License
1.26k stars 398 forks source link

NoSQL and PHPCR #356

Closed marcj closed 2 years ago

marcj commented 11 years ago

Hey guys,

I plan to rewrite the CMS I'm currently working on into a Symfony-Bundle equally to the Symfony-CMF but with more UI and Propel2 as base. Here I have some questions:

As we'd leave with that the classical RDBMS area, we probably should then rename the tags in the schema.xml. table => entity, column => field - just a first thought.

Since that would not be little work I probably need some help. What do you think?

fzaninotto commented 11 years ago

Hi Marc,

Good idea, but you'll reach the edge of the ORM model and things won't fit easily IMHO. For instance, Propel relies on a schema, and NoSQL databases are schemaless. PHPCR allows every node to be of different nature, while Propel Queries must know the type of entity they're requesting to hydrate them efficiently... There are more examples.

So that would probably disrupt Propel2 a lot, and delay its release even more. I think what Propel2 needs right now is focus, to allow a first release soon.

So go on and try it if you want, but don't expect it to be easy (and not even feasible).

Cheers,

François

2013/4/10 MArc J. Schmidt notifications@github.com

Hey guys,

I plan to rewrite the CMS I'm currently working on into a Symfony-Bundle equally to the Symfony-CMF but with more UI and Propel2 as base. Here I have some questions:

  • What do you think about supporting some common NoSQL Databases?
  • Since I want to use the features of JCR, I want to use PHPCR for the main CMS entities. So, that needs a PHPCR adapter for Propel. Any thoughts?

As we'd leave with that the classical RDBMS area, we probably should then rename the tags in the schema.xml. table => entity, column => field - just a first thought.

Since that would not be little work I probably need some help. What do you think?

— Reply to this email directly or view it on GitHubhttps://github.com/propelorm/Propel2/issues/356 .

staabm commented 11 years ago

maybe having a look at doctrine odm could give you a big picture how things could work.. http://www.doctrine-project.org/projects/phpcr-odm.html

I have no experience with it though.

marcj commented 11 years ago

Ok, I'm currently playing around with it and got a first version of mongodb running that can handle load/modify/save/insert.

Here is the progress: https://github.com/marcj/Propel2/commits/nosql

I had to abstract the building process, connection handling and the data fetching, but it works now. Guess next part will be the query-building. Wish me luck. :dancers:

staabm commented 11 years ago

(fingers crossed)

willdurand commented 11 years ago

If that works, it would be nice to study how to create a "Propel-NoSQL" project that has Propel2 as dependency, just like we have doctrine-orm, doctrine-odm, etc. It would be another project that you would require in your project, and that would rely on Propel2 under the hood.

dereuromark commented 2 years ago

We will have to open a new discussion here for 2022+