migration before.
Please try it, and don't hasitate to report bugs. ;-)
Jonathan Schmeling writes:
> Thanks so much for the response! Ahhh; I did wonder if Artanis had anything had anything like that. That is really nice to work with.
>
> So I have a table named PEOPLE; so I ran art draw model PEOPLE and that reated a file named PEOPLE.scm which contains
>
> ;; Model PEOPLE definition of myapp
> ;; Please add your license header here.
> ;; This file is generated automatically by GNU Artanis.
> (create-artanis-model PEOPLE) ; DO NOT REMOVE THIS LINE!!!
>
> I then added to one of my controllers (use-modules (app models PEOPLE)) and running Artanis and visiting endpoints in that controller didn't throw any errors.
>
> So then I added a call similar to the one you had that uses ($PEOPLE …) in the controller; however, then I get the error In procedure module-lookup: Unbound variable: $PEOPLE when I visit the endpoint that uses the function call.
>
> Did I miss something?
>
> Jonathan
> On Saturday, March 16, 2019, 3:31:19 PM CDT, Nala Ginrut <
address@hidden> wrote:
>
>
>
> Hi Jonathan!
> Sorry it's my mistake to neglect this part in the doc.
> You don't have to take care of the DB connection management by
> yourself. You may just use `art draw model person' to create the named
> mapping to the "person" table, and there's an exported relational
> mapping object named "$person", you may import (app models person) in
> other controller to use it. It's based on FPRM, but the table name has
> already been wrapped into the closure:
>
https://www.gnu.org/software/artanis/manual/manual.html#orgeff2a47
>
> And maybe read its implementation is clearer to you:
>
https://gitlab.com/NalaGinrut/artanis/blob/master/artanis/mvc/model.scm#L226
>
> The usage should look like this:
>
> ($person 'set #:name "nala" #:age 100)
>
> BTW, please don't forget to config your DB in conf/artanis.conf first.
>
> Best regards.
>
>
> Jonathan Schmeling writes:
>
>> Gotcha. That makes a lot of sense. Thanks a ton for explaining!
>>
>> Database related, is there a way to query the database from one of the controller -define methods (like (article-define show …) in the online documentation)? Using the function map-table-from-DB causes an error and attaching #:conn #t, like with the get
function, also causes an error. Doing something like (:conn rc "SELECT * FROM PEOPLE") seems to work (or, at least, not throw an error) but I'm not sure what gets returned. The doc. says the returned value is described at
https://www.gnu.org/software/artanis/manual/manual.html#org8ba121f but that section says "TODO".
>> As always, any help is always super appreciated!
>>
>> Jonathan
>>
>> On 2/17/19 12:19 PM, Nala Ginrut wrote:
>>
>>
>> Hi Jonathan!
>> I'm glad you asked this question.
>> The answer is actually written in the fprm.scm code comments that the
>> relational mapping in Artanis is not going to provide database level
>> foreign keys. The solution is to provide higher-abstract-level table
>> operations as a replacement to save users to time to handle by
>> themselves.
>>
>> The pros and cons of foreign keys are discussed a lot in the
>> internet. The modern ORM may choose to drop foreign keys and provide
>> higher layer for it.
>>
>>
>> Unfortunately, this feature has not been implemented yet because of my time schedule.
>>
>> Of course, this issue is still open, the original plan is more
>> ambitious. I think it's the time to add more features to the relational
>> mapping framework.
>> Welcome to discuss if you like.
>>
>> Best regards.
>>
>> Jonathan Schmeling writes:
>>
>>
>>
>> I'm not sure if it's been asked before but I couldn't find any mention
>> in the doc. – is it feasible to define foreign keys for the create-table
>> function? I want to reference another table's primary keys from a
>> particular table, to link them.
>>
>> Jonathan
--
GNU Powered it
GPL Protected it
GOD Blessed it
HFG - NalaGinrut
Fingerprint F53B 4C56 95B5 E4D5 6093 4324 8469 6772 846A 0058