Thanks very much Juhan for the thorough QA and Dev work.

I learnt alot.

Is the playground postgres DB been created and used?

On Fri, May 3, 2019 at 9:18 AM Juhan Aasaru <[email protected]> wrote:

> Hi Isaac,
>
> Sorry abou the delay in my response. I did test out your code now and
> found some issues.
>
> Here is what I did:
> I pulled the newest code from your forks.
> I'm running PostgreSQL and Cassandra inside Docker, so I cleaned the
> containers to loose any previous state.
>
> Then I ran:
>
> java -Ddemoserver.persistent=true -Ddemoserver.provision=true
> -Dcustom.cassandra.contactPoints=127.0.0.1:9042
> -Dcassandra.cluster.user=cassandra -Dcassandra.cluster.pwd=password
> -Ddemoserver.lite=true -jar demo-server-0.1.0-BUILD-SNAPSHOT.jar
>
> In the logs I see that the migrations to database get applied without
> errors and the applications get started.
> There was however an error by Provisioner that database "seshat" didn't
> exist but it seems that the service
> managed to recover fromt his and create the database itself. Or should I
> have created database "seshat" myself?
>
> Then I started fims-web-app and I managed to log in.
> What I didn't manage to do was to create an headquarter office
>
> I filled in the details in fims-web-app and from developer console under
> Networking I see
> that the request is sent to http://localhost:4200/api/office/v1/offices
> and it gets 202 (Accepted) as response:
> Payload:
> { "identifier": "OF123", "name": "Office name", "description": null,
> "address": { "street": "Street", "city": "City", "postalCode": "",
> "region": null } }
>
> But when the app makes a request:
>
> http://localhost:4200/api/office/v1/offices/OF123
> it gets 404 (not found).
>
> In the logs I see:
>
> 10:06:11.670 [async-processor-4] WARN  o.h.e.jdbc.spi.SqlExceptionHelper -
> SQL Error: 0, SQLState: 23502
> 10:06:11.671 [async-processor-4] ERROR o.h.e.jdbc.spi.SqlExceptionHelper -
> ERROR: null value in column "id" violates not-null constraint
>   Detail: Failing row contains (null, null, OF123, Office name, null,
> operator, 2019-05-03 10:06:11.663, null, null).
>
> If I compare the new Postgre DB scripts with old MariaDB scripts then I
> see that in MariaDB/MySQL the ID fields are AUTO_INCREMENT:
>
>   id               BIGINT        NOT NULL AUTO_INCREMENT,
>
> but in your postgresql flyway *.sql scripts you don't create any sequences
> and you don't use serial type. You have just:
>
> id BIGINT NOT NULL,
>
> So there is nothing to create ID-s for new records. So I changed in
> fineract-cn-office/*.sql files all "id BIGINT NOT NULL" into:
>
> id SERIAL,
>
> this is basically Postgres version of AUTO_INCREMENT (and you don't have
> to specify data type), you can read more abut it here:
> http://www.postgresqltutorial.com/postgresql-serial/
> Now I cleaned Posgre database, rebuilt fineract-cn-office and restarted
> the server and then I managed to create offices
> in fims-web-app.
>
> So what you need to do is everywhere where there was AUTO_INCREMENT in
> *.sql files you need to use SERIAL.
>
> So almost there! Please let me know if you have gone over all the *sql
> files and I will test again.
>
> Kind regards
> Juhan
>
> Kontakt Isaac Kamga (<[email protected]>) kirjutas kuupƤeval N, 27.
> detsember 2018 kell 03:26:
>
>> Hey Juhan,
>>
>> Yes, I've been following the updates to the How-To-Build page.
>>
>> I'm happy the clarification was helpful and you've improved Step 3. I also
>> updated the demo-server and service-starter repositories to enable the
>> Fineract CN build happen in less time. Kindly update your respective
>> repositories and build once more to provide more feedback.
>>
>> Keep up the good work.
>>
>> Cheers,
>> Isaac Kamga.
>>
>> On Wed, Dec 26, 2018 at 11:14 PM Juhan Aasaru <[email protected]> wrote:
>>
>> > Thanks, Isaac for clearing up the confusion.
>> > Based on your explanations I also restructured Step 3 to make it easier
>> to
>> > follow.
>> > Please review if you have a moment.
>> >
>> > Kind regards
>> > Juhan Aasaru
>> >
>>
>

Reply via email to