Rebuild autoload files

Gdy zmienimy np. nazwę migracji to by ustrzec się przed błędami wykonujemy komendę:

$ composer dump-autoload

NO_PUBKEY

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <KEY>

Funkcja do walidacji liczby – JS

html

<input type="text" onkeyup="walidacja_liczby(this)" onpaste="walidacja_liczby(this)"/>

script.js

function walidacja_liczby(el, float = false) {
    if(el.value.length != 0) {
        let value = el.value;
        let value_parts = [0];
        // zamieńmy wszystkie przecinki na kropki
        value = value.replace(/\,/g, '.');
        // usuńmy wszystkie znaki z wyjątkiem cyfr i kropek
        value = value.replace(/[^0-9\.]+/g, '');
        // sprawdźmy czy ktoś wpisał kropkę
        let dot = value[value.length - 1] == '.' && float ? '.' : '';
        if(value) {
            // liczba istnieje więc podzielmy ją na części - dla przypadków z wieloma kropkami
            value_parts = value.match(/[0-9]+/g);
            // pierwszą liczbę trzeba rzutować na całkowitą by wyeliminować przypadek '023'
            value_parts[0] = parseInt(value_parts[0]);
        }
        if(value_parts.length == 1 || value_parts.length > 1 && !float) {
            el.value = value_parts[0] + dot;
        }
        else {
            el.value = value_parts[0] + '.' + value_parts[1];
        }
    }
}

Kopia tabeli w PostgreSQL

-- tworzymy nową tabelę
CREATE TABLE nowa_tabela (LIKE stara_tabela INCLUDING all);

-- usuwamy domyślną wartość dla kolumny z primary key
ALTER TABLE nowa_tabela ALTER st_id DROP DEFAULT;

-- kopiujemy zawartość starej tabeli do nowej
INSERT INTO nowa_tabela SELECT * FROM stara_tabela;

-- zmiana nazwy kolumny z primary key
ALTER TABLE nowa_tabela RENAME COLUMN st_id TO nt_id;

-- tworzymy generator kolejnych liczb - auto increment
CREATE SEQUENCE nowa_tabela_nt_id_seq;

-- ustawiamy ostatni id w generatorze
SELECT setval('nowa_tabela_nt_id_seq', (SELECT max(st_id) FROM stara_tabela), true);

-- przypisujemy kolumnie z primary key generator
ALTER TABLE nowa_tabela ALTER nt_id SET DEFAULT nextval('nowa_tabela_nt_id_seq');

-- i robimy go właścicielem tego generatora
ALTER SEQUENCE nowa_tabela_nt_id_seq OWNED BY nowa_tabela.nt_id;