Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Mikael Roos
@mosbth
Man brukar kunna utläsa det ur instruktionen, när det står under Övningar så är det normalt valfritt.
Alonso Quinones
@toolbox1972
@mosbth Självklart man ska göra tentan idag :-)
Mikael Roos
@mosbth
Enligt rykten (från en som klarat den) så är den inte nödvändigtvis speciellt svår, en timme att göra baskraven (ungefär...) och en timme att kolla att man gjort rätt. Men det är ju som vanligt högst personligt.
Alonso Quinones
@toolbox1972
@mosbth Hmm, har inte gjort prep tentan, men byggde upp all struktur från noll för och skapade lite fördefinierade mallar.
Ska kika lite på prep, innan jag startar. Och tittar lite på listan på poängavdrag.
Alonso Quinones
@toolbox1972
@mosbth Hej. I [prep] är det 4 md filer. När man startar den riktiga tentan, kommer det vara en instruktion? eller flera där man väljer att följa en instruktion?
Mikael Roos
@mosbth
I den riktiga är det två filer, en README och en INSTRUCTION
Alonso Quinones
@toolbox1972
Hepp, fick validera all min förberedda kod ....
Alonso Quinones
@toolbox1972
Fråga om tentan, hur viktigt är kosmetiska detaljer, typ tabell-formatet för printout i terminal ?
Mikael Roos
@mosbth
Ser det ut som en tabell så är det nog en tabell.
Alonso Quinones
@toolbox1972
Annan fråga: Behöver tabellen som visar [/exam/visa] ha kontur-linje?
Mikael Roos
@mosbth
@toolbox1972 "står det i specen"? Småsaker låter det som, se till att rätt saker syns i tabellen så blir det bra.
Alonso Quinones
@toolbox1972
Fråga - inspect klagar på max bredd, men jag behöver ju ha den bredden för att få plats med all info.
Måste jag drar ner bredden ändå?
/home/saxon/students/20182/alqu18/dbwebb-kurser/databas/me/kmom10/try2/src/products.js
  48:9  error  Expected blank line after variable declarations  newline-after-var
  64:1  error  Line 64 exceeds the maximum line length of 100   max-len
  65:1  error  Line 65 exceeds the maximum line length of 100   max-len
  66:1  error  Line 66 exceeds the maximum line length of 100   max-len
  67:1  error  Line 67 exceeds the maximum line length of 100   max-len
  68:1  error  Line 68 exceeds the maximum line length of 100   max-len
  84:1  error  Line 84 exceeds the maximum line length of 100   max-len
  84:1  error  Expected indentation of 4 spaces but found 8     indent
Eller nä, det var inget, jag kan nog krympa bredden :-)
Alonso Quinones
@toolbox1972
Fråga_1 (vad menas med "loggen" ? )
Fråga_2 (ska man kunna söka på alla kolumner som visas i tidigare skapad rapport?)
Uppgift 2
Mikael Roos
@mosbth
@toolbox1972 var lite försiktig att visa för mycket med tanke på att alla inte checkat ut än... men det ska nog stå "rapporten" och hänvisa till det du gjorde i uppgift 1.
Om det låter rimligt.
Alonso Quinones
@toolbox1972
@mosbth Ok, text borttagen från chatten, sorry!.
Mikael Roos
@mosbth
Det är lugnt :-)
@toolbox1972 men du fick koll på vad som gälldei uppgiften?
Alonso Quinones
@toolbox1972
Jo, jag tror det. Bygger på.
Något tips från coachen, när man bör börja runda av för att hinna checka in och skriva på canvas ?
20 minuter innan deadline ?
Mikael Roos
@mosbth
Tipsen är få så här på eftermiddagen. Glöm inte er-bilden och dubbelkolla att backup (och alla andra filer) ligger på rätt plats och att både webb och klienten funkar...
Alonso Quinones
@toolbox1972
@mosbth Ok, tack låter som jag behöver runda av 30 min innan.
Alonso Quinones
@toolbox1972
@mosbth När jag gjorde min backup fungerar det inte med "dbwebb" användare, men det gick fint med "user" användaren.
Blir det problem vid rättning?
Mikael Roos
@mosbth
@toolbox1972 det är nog som det ska
Mikael Roos
@mosbth
Då var omtentan för databas avslutad, det var en handfull studenter som gjorde den.
Alonso Quinones
@toolbox1972
Håller tummarna för allihopa. Bra kämpat! :-)
Mikael Roos
@mosbth
Alla inlämningar i databas är nu rättade. Nästa uppsamlingsheat är enligt den rekommenderade studieplanen satt till den 30:e augusti.
Alonso Quinones
@toolbox1972
Hej alla.
Övar på att bli duktigare på att publicera på github och har lagt ut 5 mindre javascripts repos:
https://github.com/toolbox1972
Här kan man se hur koden ser ut när den körs (klicka på javascript): http://premisit.com/demos/
...hoppas det är ok att publicera detta, tänkte att det är sommar och kursen är färdig.
Alonso Quinones
@toolbox1972
Fråga kmom06. Hur plockar ni ut antal order rader?
Anton Johnsson Håkansson
@EvilBengt

@toolbox1972 Kommer inte ihåg hur uppgifterna såg ut men generellt för att få ut antal rader kan man köra COUNT(*) i en SELECT. Så typ

SELECT COUNT(*)
  FROM order_rows;

eller liknande :D

Alonso Quinones
@toolbox1972
@EvilBengt Tack. Tror jag förstår.
Min tabell order_row ser ut så här:
Antar att jag behöver då summera ihop samtliga värden i amount som är kopplad
till ett order id ?
+----------+-------------+--------+
| order_id | product_sku | amount |
+----------+-------------+--------+
|        1 | ABC123      |     10 |
|        2 | XYZ789      |     20 |
|        1 | 0           |     43 |
|        1 | ABC123      |     43 |
|        1 | XYZ789      |     32 |
|        1 | ABC123      |     43 |
|        4 | ABC123      |      1 |
|        4 | XYZ789      |     21 |
|        5 | ABC123      |     54 |
|        6 | ABC123      |     12 |
|        6 | XYZ789      |     45 |
|        6 | ABC123      |      9 |
|        6 | ABC123      |      1 |
|        6 | ABC123      |     42 |
|        6 | XYZ789      |    321 |
+----------+-------------+--------+
Anton Johnsson Håkansson
@EvilBengt
@toolbox1972 Med COUNT(*) får du ut antal rader i en SELECT. De beror på om de e summan för en order eller bara antal rader du vill ha :D
Alonso Quinones
@toolbox1972
@EvilBengt Hepp, antar att om man följer specen så är det enbart antal rader.
Så då plockar jag ut antal rader och måste se till att de hamnar fint i browsern.
Anton Johnsson Håkansson
@EvilBengt
@toolbox1972 Då borde COUNT(*) funka fint :D
Alonso Quinones
@toolbox1972
@EvilBengt Men om jag måste göra en summa för en order så kan det väl se ut så här?:
SELECT 
    SUM(amount)
FROM
    order_rows
WHERE
    order_id = 2;
Anton Johnsson Håkansson
@EvilBengt
@toolbox1972 Jupp!
Alonso Quinones
@toolbox1972
@EvilBengt är lite trög så här i sommarvärmen.
Så hur gör jag om jag helt enkelt vill summera ihop duplicerade värde i [order_id].
Alltså, jag vill ha ut ett nummer som motsvarar antalet, t.ex. antal fyror är lika med 2.
Det är ju värdet 2 som ska in i webrowserns titel "antal rader".
Anton Johnsson Håkansson
@EvilBengt
@toolbox1972 Då kör du COUNT(*):
SELECT COUNT(*)
  FROM order_rows
 WHERE order_id = 2;
Alonso Quinones
@toolbox1972
@EvilBengt Tack !.
Anton Johnsson Håkansson
@EvilBengt
@toolbox1972 Inga problem! :D
Alonso Quinones
@toolbox1972
@mosbth Jag har tidigare haft problem med db:n i kmom05 där jag vid inlämning fått svar att jag inte kan bygga db med bashscript
som lägger på en timestamp. Så jag tog bort db:n, alla bashscript och byggde manuellt enligt de instruktioner ni har.
Min fråga: Ska jag fortsätta brottas med db backupen? Eller räcker det med att kmom06 slutligen går igenom?
@mosbth Valde att skapa om kmom05 db med kommandot:
mysqldump -uuser -ppass --routines eshop > backup.sql
Alonso Quinones
@toolbox1972
Och har skickat in kmom05 igen.
Alonso Quinones
@toolbox1972

@mosbth
Jag har tidigare haft problem med db backup i kmom05 där jag vid inlämning fått svar att jag inte kan bygga db med bashscript
som lägger på en timestamp. Så jag tog bort db backupen, alla bashscript och byggde manuellt enligt de instruktioner ni har.
Min fråga: Ska jag fortsätta brottas med db backupen? Eller räcker det med att kmom06 slutligen går igenom?

Valde att skapa om kmom05 db med kommandot:
mysqldump -uuser -ppass --routines eshop > backup.sql

Och har skickat in kmom05 igen.

@mosbth Har även skickat in kmom06.
Alonso Quinones
@toolbox1972

Min "create product" har slutat fungera i kmom06 eshop2, men fungerar i kmom05 eshop1.
Har även säkrat att det går att skicka in en "CALL create_product" med 3 argument, via en MySQL terminal.
Fråga: Någon som ser något uppenbart fel? Har kört mina kodstycken i en filediff, de är exakt likadan i både eshop1 och eshop2.

Del av felmeddelandet:

(node:22159) UnhandledPromiseRejectionWarning: Error: ER_BAD_NULL_ERROR: Column 'customer_id' cannot be null

(node:22159) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)

min [src/eshop.js]:

async function createProduct(id, name, price) {
    let sql = `CALL create_product(?, ?, ?);`;
    let res;

    res = await db.query(sql, [id, name, price]);
    console.log(res);
    console.info(`SQL: ${sql} got ${res.length} rows.`);
}
min [route/eshop.js]:
router.get("/create", async (req, res) => {
    let data = {
        title: "Create | The eshop"
    };

    data.res = await eshop.showAllProducts();

    res.render("eshop/create", data);
});

router.post("/create", urlencodedParser, async (req, res) => {
    // Extract the data from the posted form
    // console.log(JSON.stringify(req.body, null, 4));
    await eshop.createProduct(req.body.id, req.body.prod_name, req.body.prod_price);
    // Send data to a stored procedure
    res.redirect("/eshop/product");
});
Alonso Quinones
@toolbox1972
Edit och delete fungerar fint i kmom06 eshop2, bara create som gått sönder :-(
Jag förstår så långt att node tycker att jag skickar in NULL i customer_id,
jag skriver in en ledig siffra i customer_id såsom det fungerar i eshop1.
Så felet borde beror på att systemet inte kan skicka vidare mitt inskrivna customer_id värde.