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 >> > >> >
