plankanban / planka

The realtime kanban board for workgroups built with React and Redux.
https://planka.app
GNU Affero General Public License v3.0
8.05k stars 754 forks source link

Javascript error causing UI not to load #347

Closed LouisVallat closed 1 year ago

LouisVallat commented 1 year ago

Hello, I've been using Planka for a few years now and I'd like to use it on a more regular basis, Unfortunately, this morning my planka instance is borked. The UI is not loading and the only debug messages I have in the console are these two errors:

TypeError: can't access property "id", r is null
    value User.js:328
    value User.js:327
    xc users.js:54
    Redux 4
    DQ ProjectsContainer.js:10
    Redux 5
    React 2
    i Redux
    React 12
react-dom.production.min.js:189:29
Uncaught TypeError: can't access property "id", r is null
    value User.js:328
    value User.js:327
    xc users.js:54
    Redux 4
    DQ ProjectsContainer.js:10
    Redux 5
    React 2
    i Redux
    React 12
User.js:328:12

I used it yesterday on my phone without issue, added a project and a card and then nothing this morning... It's kind of disappointing and sad to see my instance unusable without any apparent reason, especially because I'm trying to use it professionally.

I'm planning on resetting my instance, but I'll keep the old broken one around so I can help you debug this issue if needed.

Have a nice day :smile:

meltyshev commented 1 year ago

Hi, thanks for reporting this! Already trying to figure out what's wrong...

meltyshev commented 1 year ago

I'm trying to reproduce it somehow, but so far without success. Theoretically it is clear where the error is, but it is not clear how it can be. What version of Planka are you using? Is it possible for you to provide server responses (without confidential data, of course)?

azuledu commented 1 year ago

Same problem here, both in Firefox or Chrome. I am using the docker-compose.yml master version of Planka. Planka.log file is void and Docker logs says nothing interesting, I think:

postgres_1  | 
postgres_1  | PostgreSQL Database directory appears to contain a database; Skipping initialization
postgres_1  | 
postgres_1  | 2022-12-14 12:59:25.398 UTC [1] LOG:  starting PostgreSQL 14.6 on x86_64-pc-linux-musl, compiled by gcc (Alpine 12.2.1_git20220924-r4) 12.2.1 20220924, 64-bit
postgres_1  | 2022-12-14 12:59:25.398 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
postgres_1  | 2022-12-14 12:59:25.398 UTC [1] LOG:  listening on IPv6 address "::", port 5432
postgres_1  | 2022-12-14 12:59:25.411 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
postgres_1  | 2022-12-14 12:59:25.423 UTC [21] LOG:  database system was shut down at 2022-12-14 12:59:21 UTC
postgres_1  | 2022-12-14 12:59:25.434 UTC [1] LOG:  database system is ready to accept connections
planka_1    | debug: Detected Sails environment is "production", but NODE_ENV is `undefined`.
planka_1    | debug: Automatically setting the NODE_ENV environment variable to "production".
planka_1    | debug: 
planka_1    | debug: It looks like your `sails.config.sockets.onlyAllowOrigins` array only includes
planka_1    | debug: references to the `localhost` origin.  This is completely valid, but be sure
planka_1    | debug: to add any other origins to this list that you'd like to accept socket
planka_1    | debug: connections from!
planka_1    | debug: 
meltyshev commented 1 year ago

The problem is on the frontend, most likely a bug somewhere that some data is not loaded correctly. Maybe it occurred after some action, maybe something was deleted?

azuledu commented 1 year ago

I think the database gets corrupted in some way. Corrupted with a normal use from the UI. This is my database, in case you find something interesting. I used Planka only during half an hour.

User: demo@demo.demo Pass: demo demo

Thanks.

--
-- PostgreSQL database dump
--

-- Dumped from database version 14.6
-- Dumped by pg_dump version 14.5 (Ubuntu 14.5-1ubuntu1)

SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;

--
-- Name: next_id(); Type: FUNCTION; Schema: public; Owner: postgres
--

CREATE FUNCTION public.next_id(OUT id bigint) RETURNS bigint
    LANGUAGE plpgsql
    AS $$
      DECLARE
        shard INT := 1;
        epoch BIGINT := 1567191600000;
        sequence BIGINT;
        milliseconds BIGINT;
      BEGIN
        SELECT nextval('next_id_seq') % 1024 INTO sequence;
        SELECT FLOOR(EXTRACT(EPOCH FROM clock_timestamp()) * 1000) INTO milliseconds;
        id := (milliseconds - epoch) << 23;
        id := id | (shard << 10);
        id := id | (sequence);
      END;
    $$;

ALTER FUNCTION public.next_id(OUT id bigint) OWNER TO postgres;

SET default_tablespace = '';

SET default_table_access_method = heap;

--
-- Name: action; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE public.action (
    id bigint DEFAULT public.next_id() NOT NULL,
    card_id bigint NOT NULL,
    user_id bigint NOT NULL,
    type text NOT NULL,
    data jsonb NOT NULL,
    created_at timestamp without time zone,
    updated_at timestamp without time zone
);

ALTER TABLE public.action OWNER TO postgres;

--
-- Name: archive; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE public.archive (
    id bigint DEFAULT public.next_id() NOT NULL,
    from_model text NOT NULL,
    original_record_id bigint NOT NULL,
    original_record json NOT NULL,
    created_at timestamp without time zone,
    updated_at timestamp without time zone
);

ALTER TABLE public.archive OWNER TO postgres;

--
-- Name: attachment; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE public.attachment (
    id bigint DEFAULT public.next_id() NOT NULL,
    card_id bigint NOT NULL,
    creator_user_id bigint NOT NULL,
    dirname text NOT NULL,
    filename text NOT NULL,
    name text NOT NULL,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    image jsonb
);

ALTER TABLE public.attachment OWNER TO postgres;

--
-- Name: board; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE public.board (
    id bigint DEFAULT public.next_id() NOT NULL,
    project_id bigint NOT NULL,
    type text NOT NULL,
    "position" double precision NOT NULL,
    name text NOT NULL,
    created_at timestamp without time zone,
    updated_at timestamp without time zone
);

ALTER TABLE public.board OWNER TO postgres;

--
-- Name: board_membership; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE public.board_membership (
    id bigint DEFAULT public.next_id() NOT NULL,
    board_id bigint NOT NULL,
    user_id bigint NOT NULL,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    role text NOT NULL,
    can_comment boolean
);

ALTER TABLE public.board_membership OWNER TO postgres;

--
-- Name: card; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE public.card (
    id bigint DEFAULT public.next_id() NOT NULL,
    board_id bigint NOT NULL,
    list_id bigint,
    creator_user_id bigint NOT NULL,
    cover_attachment_id bigint,
    "position" double precision,
    name text NOT NULL,
    description text,
    due_date timestamp without time zone,
    timer jsonb,
    created_at timestamp without time zone,
    updated_at timestamp without time zone
);

ALTER TABLE public.card OWNER TO postgres;

--
-- Name: card_label; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE public.card_label (
    id bigint DEFAULT public.next_id() NOT NULL,
    card_id bigint NOT NULL,
    label_id bigint NOT NULL,
    created_at timestamp without time zone,
    updated_at timestamp without time zone
);

ALTER TABLE public.card_label OWNER TO postgres;

--
-- Name: card_membership; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE public.card_membership (
    id bigint DEFAULT public.next_id() NOT NULL,
    card_id bigint NOT NULL,
    user_id bigint NOT NULL,
    created_at timestamp without time zone,
    updated_at timestamp without time zone
);

ALTER TABLE public.card_membership OWNER TO postgres;

--
-- Name: card_subscription; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE public.card_subscription (
    id bigint DEFAULT public.next_id() NOT NULL,
    card_id bigint NOT NULL,
    user_id bigint NOT NULL,
    is_permanent boolean NOT NULL,
    created_at timestamp without time zone,
    updated_at timestamp without time zone
);

ALTER TABLE public.card_subscription OWNER TO postgres;

--
-- Name: label; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE public.label (
    id bigint DEFAULT public.next_id() NOT NULL,
    board_id bigint NOT NULL,
    name text,
    color text NOT NULL,
    created_at timestamp without time zone,
    updated_at timestamp without time zone
);

ALTER TABLE public.label OWNER TO postgres;

--
-- Name: list; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE public.list (
    id bigint DEFAULT public.next_id() NOT NULL,
    board_id bigint NOT NULL,
    "position" double precision NOT NULL,
    name text NOT NULL,
    created_at timestamp without time zone,
    updated_at timestamp without time zone
);

ALTER TABLE public.list OWNER TO postgres;

--
-- Name: migration; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE public.migration (
    id integer NOT NULL,
    name character varying(255),
    batch integer,
    migration_time timestamp with time zone
);

ALTER TABLE public.migration OWNER TO postgres;

--
-- Name: migration_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
--

CREATE SEQUENCE public.migration_id_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;

ALTER TABLE public.migration_id_seq OWNER TO postgres;

--
-- Name: migration_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres
--

ALTER SEQUENCE public.migration_id_seq OWNED BY public.migration.id;

--
-- Name: migration_lock; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE public.migration_lock (
    index integer NOT NULL,
    is_locked integer
);

ALTER TABLE public.migration_lock OWNER TO postgres;

--
-- Name: migration_lock_index_seq; Type: SEQUENCE; Schema: public; Owner: postgres
--

CREATE SEQUENCE public.migration_lock_index_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;

ALTER TABLE public.migration_lock_index_seq OWNER TO postgres;

--
-- Name: migration_lock_index_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres
--

ALTER SEQUENCE public.migration_lock_index_seq OWNED BY public.migration_lock.index;

--
-- Name: next_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
--

CREATE SEQUENCE public.next_id_seq
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;

ALTER TABLE public.next_id_seq OWNER TO postgres;

--
-- Name: notification; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE public.notification (
    id bigint DEFAULT public.next_id() NOT NULL,
    user_id bigint NOT NULL,
    action_id bigint NOT NULL,
    card_id bigint NOT NULL,
    is_read boolean NOT NULL,
    created_at timestamp without time zone,
    updated_at timestamp without time zone
);

ALTER TABLE public.notification OWNER TO postgres;

--
-- Name: project; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE public.project (
    id bigint DEFAULT public.next_id() NOT NULL,
    name text NOT NULL,
    background jsonb,
    background_image_dirname text,
    created_at timestamp without time zone,
    updated_at timestamp without time zone
);

ALTER TABLE public.project OWNER TO postgres;

--
-- Name: project_manager; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE public.project_manager (
    id bigint DEFAULT public.next_id() NOT NULL,
    project_id bigint NOT NULL,
    user_id bigint NOT NULL,
    created_at timestamp without time zone,
    updated_at timestamp without time zone
);

ALTER TABLE public.project_manager OWNER TO postgres;

--
-- Name: session; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE public.session (
    id bigint DEFAULT public.next_id() NOT NULL,
    user_id bigint NOT NULL,
    access_token text NOT NULL,
    remote_address text NOT NULL,
    user_agent text,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    deleted_at timestamp without time zone
);

ALTER TABLE public.session OWNER TO postgres;

--
-- Name: task; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE public.task (
    id bigint DEFAULT public.next_id() NOT NULL,
    card_id bigint NOT NULL,
    name text NOT NULL,
    is_completed boolean NOT NULL,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    "position" double precision NOT NULL
);

ALTER TABLE public.task OWNER TO postgres;

--
-- Name: user_account; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE public.user_account (
    id bigint DEFAULT public.next_id() NOT NULL,
    email text NOT NULL,
    password text NOT NULL,
    is_admin boolean NOT NULL,
    name text NOT NULL,
    username text,
    avatar_dirname text,
    phone text,
    organization text,
    subscribe_to_own_cards boolean NOT NULL,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    deleted_at timestamp without time zone,
    language text,
    password_changed_at timestamp without time zone
);

ALTER TABLE public.user_account OWNER TO postgres;

--
-- Name: migration id; Type: DEFAULT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.migration ALTER COLUMN id SET DEFAULT nextval('public.migration_id_seq'::regclass);

--
-- Name: migration_lock index; Type: DEFAULT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.migration_lock ALTER COLUMN index SET DEFAULT nextval('public.migration_lock_index_seq'::regclass);

--
-- Data for Name: action; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY public.action (id, card_id, user_id, type, data, created_at, updated_at) FROM stdin;
864462910477304847  864462910410195982  864460137211888641  createCard  {"list": {"id": "864461934093665292", "name": "Doing"}} 2022-12-05 12:33:29 \N
869649670748505113  869649670605898776  864460137211888641  createCard  {"list": {"id": "869649279386387477", "name": "ToDo"}}  2022-12-12 16:18:39 \N
869649973325595675  869649973208155162  864460137211888641  createCard  {"list": {"id": "869649279386387477", "name": "ToDo"}}  2022-12-12 16:19:15 \N
869650163017188381  869650162899747868  864460137211888641  createCard  {"list": {"id": "869649279386387477", "name": "ToDo"}}  2022-12-12 16:19:38 \N
869650821858460704  869650821741020191  864460137211888641  createCard  {"list": {"id": "864461747363251211", "name": "ToDo"}}  2022-12-12 16:20:56 \N
869650860135679010  869650860009849889  864460137211888641  createCard  {"list": {"id": "864461747363251211", "name": "ToDo"}}  2022-12-12 16:21:01 \N
869652128224773161  869652128098944040  864460137211888641  createCard  {"list": {"id": "869651066201834533", "name": "ToDo"}}  2022-12-12 16:23:32 \N
869652184831099947  869652184688493610  864460137211888641  createCard  {"list": {"id": "869651066201834533", "name": "ToDo"}}  2022-12-12 16:23:39 \N
869652491032069165  869652490914628652  864460137211888641  createCard  {"list": {"id": "869649279386387477", "name": "ToDo"}}  2022-12-12 16:24:15 \N
869652550003983407  869652549878154286  864460137211888641  createCard  {"list": {"id": "869649279386387477", "name": "ToDo"}}  2022-12-12 16:24:22 \N
869652855324148785  869652855189931056  864460137211888641  createCard  {"list": {"id": "869651066201834533", "name": "ToDo"}}  2022-12-12 16:24:59 \N
869652978737349683  869652978628297778  864460137211888641  createCard  {"list": {"id": "869651066201834533", "name": "ToDo"}}  2022-12-12 16:25:13 \N
869653309189784629  869653309072344116  864460137211888641  createCard  {"list": {"id": "869651066201834533", "name": "ToDo"}}  2022-12-12 16:25:53 \N
869653654716548151  869653654657827894  864460137211888641  createCard  {"list": {"id": "869651066201834533", "name": "ToDo"}}  2022-12-12 16:26:34 \N
869654050751120446  869654050625291325  864460137211888641  createCard  {"list": {"id": "869653925215601722", "name": "ToDo"}}  2022-12-12 16:27:21 \N
869654103238640704  869654103129588799  864460137211888641  createCard  {"list": {"id": "869653925215601722", "name": "ToDo"}}  2022-12-12 16:27:27 \N
869654195479774274  869654195429442625  864460137211888641  createCard  {"list": {"id": "869653925215601722", "name": "ToDo"}}  2022-12-12 16:27:38 \N
869654843726234697  869654843592016968  864460137211888641  createCard  {"list": {"id": "869654553966937157", "name": "ToDo"}}  2022-12-12 16:28:56 \N
869654950202836043  869654950127338570  864460137211888641  createCard  {"list": {"id": "869654553966937157", "name": "ToDo"}}  2022-12-12 16:29:08 \N
869655646650238032  869655646541186127  864460137211888641  createCard  {"list": {"id": "869655530728064076", "name": "ToDo"}}  2022-12-12 16:30:31 \N
869655719723402322  869655719605961809  864460137211888641  createCard  {"list": {"id": "869655530728064076", "name": "ToDo"}}  2022-12-12 16:30:40 \N
869655832676009044  869655832550179923  864460137211888641  createCard  {"list": {"id": "869654553966937157", "name": "ToDo"}}  2022-12-12 16:30:53 \N
869656388656170074  869656388589061209  864460137211888641  createCard  {"list": {"id": "869653925215601722", "name": "ToDo"}}  2022-12-12 16:32:00 \N
869656443442168924  869656443333117019  864460137211888641  createCard  {"list": {"id": "869653925215601722", "name": "ToDo"}}  2022-12-12 16:32:06 \N
869656473272058974  869656473146229853  864460137211888641  createCard  {"list": {"id": "869653925215601722", "name": "ToDo"}}  2022-12-12 16:32:10 \N
869656505861801056  869656505735971935  864460137211888641  createCard  {"list": {"id": "869653925215601722", "name": "ToDo"}}  2022-12-12 16:32:14 \N
869656705292567650  869656705166738529  864460137211888641  createCard  {"list": {"id": "869654553966937157", "name": "ToDo"}}  2022-12-12 16:32:37 \N
869657523416728678  869657523299288165  864460137211888641  createCard  {"list": {"id": "869654553966937157", "name": "ToDo"}}  2022-12-12 16:34:15 \N
869657607546078312  869657607428637799  864460137211888641  createCard  {"list": {"id": "869654553966937157", "name": "ToDo"}}  2022-12-12 16:34:25 \N
869658972347434096  869658972221604975  864460137211888641  createCard  {"list": {"id": "869658899895026798", "name": "ToDo"}}  2022-12-12 16:37:08 \N
869659015817200754  869659015682983025  864460137211888641  createCard  {"list": {"id": "869658899895026798", "name": "ToDo"}}  2022-12-12 16:37:13 \N
869659068355052660  869659068246000755  864460137211888641  createCard  {"list": {"id": "869658899895026798", "name": "ToDo"}}  2022-12-12 16:37:19 \N
869659952539501688  869659952422061175  864460137211888641  createCard  {"list": {"id": "869658899895026798", "name": "ToDo"}}  2022-12-12 16:39:05 \N
869660378093585530  869660377976145017  864460137211888641  createCard  {"list": {"id": "869651066201834533", "name": "ToDo"}}  2022-12-12 16:39:55 \N
869662853546640510  869662853378868349  864460137211888641  createCard  {"list": {"id": "869658899895026798", "name": "ToDo"}}  2022-12-12 16:44:50 \N
\.

--
-- Data for Name: archive; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY public.archive (id, from_model, original_record_id, original_record, created_at, updated_at) FROM stdin;
\.

--
-- Data for Name: attachment; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY public.attachment (id, card_id, creator_user_id, dirname, filename, name, created_at, updated_at, image) FROM stdin;
\.

--
-- Data for Name: board; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY public.board (id, project_id, type, "position", name, created_at, updated_at) FROM stdin;
864461480085423109  864461357578191875  kanban  65535   Lisp    2022-12-05 12:30:38 2022-12-05 12:32:25
864461539141223431  864461357578191875  kanban  131070  ZK  2022-12-05 12:30:45 2022-12-05 12:32:35
864461577561048073  864461357578191875  kanban  196605  Cursos y vídeos 2022-12-05 12:30:50 2022-12-12 16:33:28
869658845478126700  864461357578191875  kanban  458745  AFK 2022-12-12 16:36:53 2022-12-12 16:39:14
869651008362382371  864461357578191875  kanban  262140  Varios  2022-12-12 16:21:18 \N
869653866914776120  864461357578191875  kanban  327675  VPS OVH 2022-12-12 16:26:59 \N
869654456659084355  864461357578191875  kanban  393210  Programación    2022-12-12 16:28:09 \N
\.

--
-- Data for Name: board_membership; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY public.board_membership (id, board_id, user_id, created_at, updated_at, role, can_comment) FROM stdin;
864461480144143366  864461480085423109  864460137211888641  2022-12-05 12:30:38 \N  editor  \N
864461539183166472  864461539141223431  864460137211888641  2022-12-05 12:30:45 \N  editor  \N
864461577602991114  864461577561048073  864460137211888641  2022-12-05 12:30:50 \N  editor  \N
869651008421102628  869651008362382371  864460137211888641  2022-12-12 16:21:18 \N  editor  \N
869653866990273593  869653866914776120  864460137211888641  2022-12-12 16:26:59 \N  editor  \N
869654456717804612  869654456659084355  864460137211888641  2022-12-12 16:28:09 \N  editor  \N
869658845528458349  869658845478126700  864460137211888641  2022-12-12 16:36:53 \N  editor  \N
\.

--
-- Data for Name: card; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY public.card (id, board_id, list_id, creator_user_id, cover_attachment_id, "position", name, description, due_date, timer, created_at, updated_at) FROM stdin;
869649670605898776  864461577561048073  869649279386387477  864460137211888641  \N  65535   Videos Python Codurance \N  \N  \N  2022-12-12 16:18:39 \N
869649973208155162  864461577561048073  869649279386387477  864460137211888641  \N  131070  Curso Álgebra Strang    \N  \N  \N  2022-12-12 16:19:15 \N
869650162899747868  864461577561048073  869649279386387477  864460137211888641  \N  196605  Asignatura Hernán Universidad   \N  \N  \N  2022-12-12 16:19:38 2022-12-12 16:19:55
869650821741020191  864461480085423109  864461747363251211  864460137211888641  \N  65535   Vídeos Clojure  \N  \N  \N  2022-12-12 16:20:56 \N
869650860009849889  864461480085423109  864461747363251211  864460137211888641  \N  131070  Libros Clojure  \N  \N  \N  2022-12-12 16:21:01 \N
869652128098944040  869651008362382371  869651066201834533  864460137211888641  \N  65535   PBI VM https://zentyal.com  \N  \N  \N  2022-12-12 16:23:32 \N
869652184688493610  869651008362382371  869651066201834533  864460137211888641  \N  131070  PBI AWX \N  \N  \N  2022-12-12 16:23:39 \N
869652490914628652  864461577561048073  869649279386387477  864460137211888641  \N  262140  Vídeos canal Python \N  \N  \N  2022-12-12 16:24:15 \N
869652549878154286  864461577561048073  869649279386387477  864460137211888641  \N  327675  Vídeos MyCodeSchool \N  \N  \N  2022-12-12 16:24:22 \N
869652855189931056  869651008362382371  869651066201834533  864460137211888641  \N  196605  recurse.com \N  \N  \N  2022-12-12 16:24:59 \N
869652978628297778  869651008362382371  869651066201834533  864460137211888641  \N  262140  Curso Codurance \N  \N  \N  2022-12-12 16:25:13 \N
869653309072344116  869651008362382371  869651066201834533  864460137211888641  \N  327675  Cursos Confluent    \N  \N  \N  2022-12-12 16:25:53 \N
869653654657827894  869651008362382371  869651066201834533  864460137211888641  \N  393210  Curso San Leandro/Raúl  \N  \N  \N  2022-12-12 16:26:34 \N
869654050625291325  869653866914776120  869653925215601722  864460137211888641  \N  65535   Mastodom    \N  \N  \N  2022-12-12 16:27:21 \N
869654103129588799  869653866914776120  869653925215601722  864460137211888641  \N  131070  Nextcloud   \N  \N  \N  2022-12-12 16:27:27 \N
869654195429442625  869653866914776120  869653925215601722  864460137211888641  \N  196605  Securizarlo con Ansible \N  \N  \N  2022-12-12 16:27:38 \N
869654843592016968  869654456659084355  869654553966937157  864460137211888641  \N  65535   Kafka local/ELK \N  \N  \N  2022-12-12 16:28:56 \N
869654950127338570  869654456659084355  869654553966937157  864460137211888641  \N  131070  Flutter/Calio   \N  \N  \N  2022-12-12 16:29:08 \N
869655646541186127  864461539141223431  869655530728064076  864460137211888641  \N  65535   GitBook \N  \N  \N  2022-12-12 16:30:31 \N
869655719605961809  864461539141223431  869655530728064076  864460137211888641  \N  131070  Blog    \N  \N  \N  2022-12-12 16:30:40 \N
869655832550179923  869654456659084355  869654553966937157  864460137211888641  \N  196605  Tuiter  \N  \N  \N  2022-12-12 16:30:53 \N
869656388589061209  869653866914776120  869653925215601722  864460137211888641  \N  262140  Planka/Trello   \N  \N  \N  2022-12-12 16:32:00 \N
869656443333117019  869653866914776120  869653925215601722  864460137211888641  \N  327675  Medium  \N  \N  \N  2022-12-12 16:32:06 \N
869656473146229853  869653866914776120  869653925215601722  864460137211888641  \N  393210  CV  \N  \N  \N  2022-12-12 16:32:10 \N
869656505735971935  869653866914776120  869653925215601722  864460137211888641  \N  458745  Dokuwiki    \N  \N  \N  2022-12-12 16:32:14 \N
869656705166738529  869654456659084355  869654553966937157  864460137211888641  \N  262140  Web Marián  \N  \N  \N  2022-12-12 16:32:37 \N
869657523299288165  869654456659084355  869654553966937157  864460137211888641  \N  327675  BaseCS script   \N  \N  \N  2022-12-12 16:34:15 \N
869657607428637799  869654456659084355  869654553966937157  864460137211888641  \N  393210  GoL \N  \N  \N  2022-12-12 16:34:25 \N
869658972221604975  869658845478126700  869658899895026798  864460137211888641  \N  65535   Camisas \N  \N  \N  2022-12-12 16:37:08 \N
869659015682983025  869658845478126700  869658899895026798  864460137211888641  \N  131070  Pera    \N  \N  \N  2022-12-12 16:37:13 \N
869659068246000755  869658845478126700  869658899895026798  864460137211888641  \N  196605  Enchufes cocina \N  \N  \N  2022-12-12 16:37:19 \N
869659952422061175  869658845478126700  869658899895026798  864460137211888641  \N  262140  Libros Amazon   \N  \N  \N  2022-12-12 16:39:05 \N
869660377976145017  869651008362382371  869651066201834533  864460137211888641  \N  458745  Correo Andrei Jobfluent \N  \N  \N  2022-12-12 16:39:55 \N
869662853378868349  869658845478126700  869658899895026798  864460137211888641  \N  327675  Ratón   \N  \N  \N  2022-12-12 16:44:50 \N
864462910410195982  864461480085423109  864461934093665292  864460137211888641  \N  65535   Curso MIT 6001  \N  \N  {"total": 11, "startedAt": null}    2022-12-05 12:33:29 2022-12-05 13:26:48
\.

--
-- Data for Name: card_label; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY public.card_label (id, card_id, label_id, created_at, updated_at) FROM stdin;
864463363076260881  864462910410195982  864463187863405584  2022-12-05 12:34:23 \N
869656874482402404  869656705166738529  869656850490983523  2022-12-12 16:32:58 \N
869660640086590588  869660377976145017  869660621841368187  2022-12-12 16:40:27 \N
\.

--
-- Data for Name: card_membership; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY public.card_membership (id, card_id, user_id, created_at, updated_at) FROM stdin;
\.

--
-- Data for Name: card_subscription; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY public.card_subscription (id, card_id, user_id, is_permanent, created_at, updated_at) FROM stdin;
\.

--
-- Data for Name: label; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY public.label (id, board_id, name, color, created_at, updated_at) FROM stdin;
864463187863405584  864461480085423109  Cursos  berry-red   2022-12-05 12:34:02 \N
869656850490983523  869654456659084355  Importante  berry-red   2022-12-12 16:32:55 \N
869660621841368187  869651008362382371  Importante  berry-red   2022-12-12 16:40:24 \N
\.

--
-- Data for Name: list; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY public.list (id, board_id, "position", name, created_at, updated_at) FROM stdin;
864461934093665292  864461480085423109  131070  Doing   2022-12-05 12:31:33 \N
864461951214814221  864461480085423109  196605  Done    2022-12-05 12:31:35 \N
864461747363251211  864461480085423109  65535   ToDo    2022-12-05 12:31:10 2022-12-05 12:31:42
869649279386387477  864461577561048073  65535   ToDo    2022-12-12 16:17:52 \N
869649307949597718  864461577561048073  131070  Doing   2022-12-12 16:17:56 \N
869649326756856855  864461577561048073  196605  Done    2022-12-12 16:17:58 \N
869651066201834533  869651008362382371  65535   ToDo    2022-12-12 16:21:25 \N
869651090092590118  869651008362382371  131070  Doing   2022-12-12 16:21:28 \N
869651108966958119  869651008362382371  196605  Done    2022-12-12 16:21:30 \N
869653925215601722  869653866914776120  65535   ToDo    2022-12-12 16:27:06 \N
869653945910297659  869653866914776120  131070  Doing   2022-12-12 16:27:09 \N
869653965321536572  869653866914776120  196605  Done    2022-12-12 16:27:11 \N
869654553966937157  869654456659084355  65535   ToDo    2022-12-12 16:28:21 \N
869654577018831942  869654456659084355  131070  Doing   2022-12-12 16:28:24 \N
869654592663585863  869654456659084355  196605  Done    2022-12-12 16:28:26 \N
869655530728064076  864461539141223431  65535   ToDo    2022-12-12 16:30:17 \N
869655557303174221  864461539141223431  131070  Doing   2022-12-12 16:30:21 \N
869655577746211918  864461539141223431  196605  Done    2022-12-12 16:30:23 \N
869658899895026798  869658845478126700  65535   ToDo    2022-12-12 16:36:59 \N
\.

--
-- Data for Name: migration; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY public.migration (id, name, batch, migration_time) FROM stdin;
1   20180721020022_create_next_id_function.js   1   2022-12-05 12:27:58.291+00
2   20180721021044_create_archive_table.js  1   2022-12-05 12:27:58.323+00
3   20180721220409_create_user_account_table.js 1   2022-12-05 12:27:58.351+00
4   20180721233450_create_project_table.js  1   2022-12-05 12:27:58.366+00
5   20180721234154_create_project_manager_table.js  1   2022-12-05 12:27:58.387+00
6   20180722000627_create_board_table.js    1   2022-12-05 12:27:58.412+00
7   20180722001747_create_board_membership_table.js 1   2022-12-05 12:27:58.434+00
8   20180722003437_create_label_table.js    1   2022-12-05 12:27:58.455+00
9   20180722003502_create_list_table.js 1   2022-12-05 12:27:58.482+00
10  20180722003614_create_card_table.js 1   2022-12-05 12:27:58.507+00
11  20180722005122_create_card_subscription_table.js    1   2022-12-05 12:27:58.528+00
12  20180722005359_create_card_membership_table.js  1   2022-12-05 12:27:58.548+00
13  20180722005928_create_card_label_table.js   1   2022-12-05 12:27:58.568+00
14  20180722006570_create_task_table.js 1   2022-12-05 12:27:58.588+00
15  20180722006688_create_attachment_table.js   1   2022-12-05 12:27:58.608+00
16  20181024220134_create_action_table.js   1   2022-12-05 12:27:58.626+00
17  20181112104653_create_notification_table.js 1   2022-12-05 12:27:58.652+00
18  20220523131229_add_image_to_attachment_table.js 1   2022-12-05 12:27:58.661+00
19  20220713145452_add_position_to_task_table.js    1   2022-12-05 12:27:58.671+00
20  20220725150723_add_language_to_user_account_table.js    1   2022-12-05 12:27:58.673+00
21  20220729142434_add_index_on_type_to_action_table.js 1   2022-12-05 12:27:58.679+00
22  20220803221221_add_password_changed_at_to_user_account_table.js 1   2022-12-05 12:27:58.681+00
23  20220815155645_add_permissions_to_board_membership_table.js 1   2022-12-05 12:27:58.696+00
24  20220906094517_create_session_table.js  1   2022-12-05 12:27:58.724+00
\.

--
-- Data for Name: migration_lock; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY public.migration_lock (index, is_locked) FROM stdin;
1   0
\.

--
-- Data for Name: notification; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY public.notification (id, user_id, action_id, card_id, is_read, created_at, updated_at) FROM stdin;
\.

--
-- Data for Name: project; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY public.project (id, name, background, background_image_dirname, created_at, updated_at) FROM stdin;
864461357578191875  Proyectos   {"name": "steel-grey", "type": "gradient"}  \N  2022-12-05 12:30:24 2022-12-05 12:36:24
\.

--
-- Data for Name: project_manager; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY public.project_manager (id, project_id, user_id, created_at, updated_at) FROM stdin;
864461357662077956  864461357578191875  864460137211888641  2022-12-05 12:30:24 \N
\.

--
-- Data for Name: session; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY public.session (id, user_id, access_token, remote_address, user_agent, created_at, updated_at, deleted_at) FROM stdin;
872400847760262281  864460137211888641  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjY2NTkwZjk0LWRhOTgtNDc3MC05YzY1LTFlZTQ3ZjdhZDgwZCJ9.eyJpYXQiOjE2NzExODk4ODUsInN1YiI6Ijg2NDQ2MDEzNzIxMTg4ODY0MSIsImV4cCI6MTcwMjcyNTg4NX0.0nlqxyGVEYmAJ_Ns8i-hc0lG7oK7Xu680naP-enLWk8    172.20.0.1  Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:107.0) Gecko/20100101 Firefox/107.0  2022-12-16 11:24:45 2022-12-16 11:40:23 2022-12-16 11:40:23
872408789423228042  864460137211888641  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImFiMmU3N2Y2LTA2YWItNDkyNy1iNTNiLTg1NjU2ZWUyNDFjOSJ9.eyJpYXQiOjE2NzExOTA4MzEsInN1YiI6Ijg2NDQ2MDEzNzIxMTg4ODY0MSIsImV4cCI6MTcwMjcyNjgzMX0.j_RpCkOTJySStCztNZWEIJZ-4FqqjMXrj5zUE0ccwkM    172.20.0.1  Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:107.0) Gecko/20100101 Firefox/107.0  2022-12-16 11:40:31 2022-12-16 11:42:12 2022-12-16 11:42:12
872409793841595531  864460137211888641  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImY3NTNiYTU1LThmNGItNDZjMy05MTdhLWU5Y2Q3NDRlMmQ0NSJ9.eyJpYXQiOjE2NzExOTA5NTEsInN1YiI6Ijg2NDQ2MDEzNzIxMTg4ODY0MSIsImV4cCI6MTcwMjcyNjk1MX0.OCiBg80kD5LLTywyk7P451sSId2Ec4vtMMweJw5B5TY    172.20.0.1  Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:107.0) Gecko/20100101 Firefox/107.0  2022-12-16 11:42:31 \N  \N
872410145525597324  864460137211888641  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjUxYzI2M2RlLWYyN2EtNDJjZi04ZDczLWI5ZjZjODNlZWQ5OCJ9.eyJpYXQiOjE2NzExOTA5OTMsInN1YiI6Ijg2NDQ2MDEzNzIxMTg4ODY0MSIsImV4cCI6MTcwMjcyNjk5M30.AjnSaaFrdahUtGBNJhnOQtXb8yZ8NbsIit08FoLjQyw    172.20.0.1  Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:107.0) Gecko/20100101 Firefox/107.0  2022-12-16 11:43:13 \N  \N
872412406792324237  864460137211888641  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjEwY2ZmM2E0LWNlZDItNGY0ZS05MmE2LTA0NzAwNTMzNDJlNCJ9.eyJpYXQiOjE2NzExOTEyNjMsInN1YiI6Ijg2NDQ2MDEzNzIxMTg4ODY0MSIsImV4cCI6MTcwMjcyNzI2M30.t-rRBOM-yXFhrylPyxOtQuNiMCFxKLbXMFufvSz3OEA    172.20.0.1  Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:107.0) Gecko/20100101 Firefox/107.0  2022-12-16 11:47:43 \N  \N
872412921072714894  864460137211888641  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ijg3M2I4M2I2LTQ5ZGYtNDEzZi04ZmUzLTVlMTViOTA2MTE3MCJ9.eyJpYXQiOjE2NzExOTEzMjQsInN1YiI6Ijg2NDQ2MDEzNzIxMTg4ODY0MSIsImV4cCI6MTcwMjcyNzMyNH0.HdRLr5xsggU26Vmmp18FmBKNIvoeE8vM7nKJBgMsDyo    172.20.0.1  \N  2022-12-16 11:48:44 \N  \N
872413225973449871  864460137211888641  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjQ2MzMwOGFkLWRhODktNGRjNi1hYjRmLWUyYWJhYTk1YzYwMyJ9.eyJpYXQiOjE2NzExOTEzNjAsInN1YiI6Ijg2NDQ2MDEzNzIxMTg4ODY0MSIsImV4cCI6MTcwMjcyNzM2MH0.85K8ZpWSOQEEEL62ktY8JmA1lqoiHNfFDNKHtRf2v0w    172.20.0.1  \N  2022-12-16 11:49:20 2022-12-16 11:49:29 2022-12-16 11:49:29
872413374502143120  864460137211888641  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjA5YzFmZGQ3LTA2YWQtNDRjNS05MDhlLTBiNjlmNGNhMGU5YSJ9.eyJpYXQiOjE2NzExOTEzNzgsInN1YiI6Ijg2NDQ2MDEzNzIxMTg4ODY0MSIsImV4cCI6MTcwMjcyNzM3OH0.NDWrKFd3AWjv4j-jIbJeAdet-exmjrDC-0CNZ18tqUs    172.20.0.1  Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:107.0) Gecko/20100101 Firefox/107.0  2022-12-16 11:49:38 \N  \N
872417031977174161  864460137211888641  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjM0YjFjZTQ3LTU4ZGMtNDY1Mi04MjE2LWI3Njk3OGQ4OGM1NyJ9.eyJpYXQiOjE2NzExOTE4MTQsInN1YiI6Ijg2NDQ2MDEzNzIxMTg4ODY0MSIsImV4cCI6MTcwMjcyNzgxNH0.1qZj7ie8tkubV5seIWNxSTNhiuIHR52yO5Sb6v0OETs    172.20.0.1  Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:107.0) Gecko/20100101 Firefox/107.0  2022-12-16 11:56:54 \N  \N
\.

--
-- Data for Name: task; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY public.task (id, card_id, name, is_completed, created_at, updated_at, "position") FROM stdin;
864469753064850451  864462910410195982  Ep. 5   f   2022-12-05 12:47:05 \N  131070
864469690511000594  864462910410195982  Ep. 4   t   2022-12-05 12:46:57 2022-12-05 12:47:42 65535
869650578236507166  869649670605898776  Revisar código video    f   2022-12-12 16:20:27 \N  65535
869655902091740245  869655832550179923  Flask   f   2022-12-12 16:31:02 \N  65535
869655970282734678  869655832550179923  FastAPI f   2022-12-12 16:31:10 \N  131070
869656007318438999  869655832550179923  Django  f   2022-12-12 16:31:14 \N  196605
869656079242363992  869655832550179923  Dominio f   2022-12-12 16:31:23 \N  262140
869657662231413865  869657607428637799  numpy   f   2022-12-12 16:34:32 \N  65535
869657689385337962  869657607428637799  arrays  f   2022-12-12 16:34:35 \N  131070
869657721614369899  869657607428637799  Pygame  f   2022-12-12 16:34:39 \N  196605
869659288530846837  869657607428637799  OOP + TDD   f   2022-12-12 16:37:45 \N  262140
869659399562462326  869657607428637799  Leer libro  f   2022-12-12 16:37:59 \N  327675
\.

--
-- Data for Name: user_account; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY public.user_account (id, email, password, is_admin, name, username, avatar_dirname, phone, organization, subscribe_to_own_cards, created_at, updated_at, deleted_at, language, password_changed_at) FROM stdin;
864460137211888641  demo@demo.demo  $2b$10$eEz0vEg.X6px/C7VVXCna..F..lwb50I3.Va7x1RPWphZXJ.JY1He    t   Demo    demo    \N  \N  \N  f   2022-12-05 12:27:58 2022-12-16 11:49:20 \N  \N  2022-12-16 11:49:20
\.

--
-- Name: migration_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
--

SELECT pg_catalog.setval('public.migration_id_seq', 24, true);

--
-- Name: migration_lock_index_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
--

SELECT pg_catalog.setval('public.migration_lock_index_seq', 1, true);

--
-- Name: next_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
--

SELECT pg_catalog.setval('public.next_id_seq', 145, true);

--
-- Name: action action_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.action
    ADD CONSTRAINT action_pkey PRIMARY KEY (id);

--
-- Name: archive archive_from_model_original_record_id_unique; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.archive
    ADD CONSTRAINT archive_from_model_original_record_id_unique UNIQUE (from_model, original_record_id);

--
-- Name: archive archive_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.archive
    ADD CONSTRAINT archive_pkey PRIMARY KEY (id);

--
-- Name: attachment attachment_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.attachment
    ADD CONSTRAINT attachment_pkey PRIMARY KEY (id);

--
-- Name: board_membership board_membership_board_id_user_id_unique; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.board_membership
    ADD CONSTRAINT board_membership_board_id_user_id_unique UNIQUE (board_id, user_id);

--
-- Name: board_membership board_membership_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.board_membership
    ADD CONSTRAINT board_membership_pkey PRIMARY KEY (id);

--
-- Name: board board_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.board
    ADD CONSTRAINT board_pkey PRIMARY KEY (id);

--
-- Name: card_label card_label_card_id_label_id_unique; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.card_label
    ADD CONSTRAINT card_label_card_id_label_id_unique UNIQUE (card_id, label_id);

--
-- Name: card_label card_label_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.card_label
    ADD CONSTRAINT card_label_pkey PRIMARY KEY (id);

--
-- Name: card_membership card_membership_card_id_user_id_unique; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.card_membership
    ADD CONSTRAINT card_membership_card_id_user_id_unique UNIQUE (card_id, user_id);

--
-- Name: card_membership card_membership_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.card_membership
    ADD CONSTRAINT card_membership_pkey PRIMARY KEY (id);

--
-- Name: card card_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.card
    ADD CONSTRAINT card_pkey PRIMARY KEY (id);

--
-- Name: card_subscription card_subscription_card_id_user_id_unique; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.card_subscription
    ADD CONSTRAINT card_subscription_card_id_user_id_unique UNIQUE (card_id, user_id);

--
-- Name: card_subscription card_subscription_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.card_subscription
    ADD CONSTRAINT card_subscription_pkey PRIMARY KEY (id);

--
-- Name: label label_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.label
    ADD CONSTRAINT label_pkey PRIMARY KEY (id);

--
-- Name: list list_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.list
    ADD CONSTRAINT list_pkey PRIMARY KEY (id);

--
-- Name: migration_lock migration_lock_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.migration_lock
    ADD CONSTRAINT migration_lock_pkey PRIMARY KEY (index);

--
-- Name: migration migration_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.migration
    ADD CONSTRAINT migration_pkey PRIMARY KEY (id);

--
-- Name: notification notification_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.notification
    ADD CONSTRAINT notification_pkey PRIMARY KEY (id);

--
-- Name: project_manager project_manager_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.project_manager
    ADD CONSTRAINT project_manager_pkey PRIMARY KEY (id);

--
-- Name: project_manager project_manager_project_id_user_id_unique; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.project_manager
    ADD CONSTRAINT project_manager_project_id_user_id_unique UNIQUE (project_id, user_id);

--
-- Name: project project_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.project
    ADD CONSTRAINT project_pkey PRIMARY KEY (id);

--
-- Name: session session_access_token_unique; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.session
    ADD CONSTRAINT session_access_token_unique UNIQUE (access_token);

--
-- Name: session session_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.session
    ADD CONSTRAINT session_pkey PRIMARY KEY (id);

--
-- Name: task task_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.task
    ADD CONSTRAINT task_pkey PRIMARY KEY (id);

--
-- Name: user_account user_account_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.user_account
    ADD CONSTRAINT user_account_pkey PRIMARY KEY (id);

--
-- Name: user_account user_email_unique; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.user_account
    ADD CONSTRAINT user_email_unique EXCLUDE USING btree (email WITH =) WHERE ((deleted_at IS NULL));

--
-- Name: user_account user_username_unique; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.user_account
    ADD CONSTRAINT user_username_unique EXCLUDE USING btree (username WITH =) WHERE (((username IS NOT NULL) AND (deleted_at IS NULL)));

--
-- Name: action_card_id_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX action_card_id_index ON public.action USING btree (card_id);

--
-- Name: action_type_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX action_type_index ON public.action USING btree (type);

--
-- Name: attachment_card_id_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX attachment_card_id_index ON public.attachment USING btree (card_id);

--
-- Name: board_membership_user_id_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX board_membership_user_id_index ON public.board_membership USING btree (user_id);

--
-- Name: board_position_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX board_position_index ON public.board USING btree ("position");

--
-- Name: board_project_id_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX board_project_id_index ON public.board USING btree (project_id);

--
-- Name: card_board_id_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX card_board_id_index ON public.card USING btree (board_id);

--
-- Name: card_label_label_id_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX card_label_label_id_index ON public.card_label USING btree (label_id);

--
-- Name: card_list_id_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX card_list_id_index ON public.card USING btree (list_id);

--
-- Name: card_membership_user_id_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX card_membership_user_id_index ON public.card_membership USING btree (user_id);

--
-- Name: card_position_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX card_position_index ON public.card USING btree ("position");

--
-- Name: card_subscription_user_id_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX card_subscription_user_id_index ON public.card_subscription USING btree (user_id);

--
-- Name: label_board_id_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX label_board_id_index ON public.label USING btree (board_id);

--
-- Name: list_board_id_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX list_board_id_index ON public.list USING btree (board_id);

--
-- Name: list_position_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX list_position_index ON public.list USING btree ("position");

--
-- Name: notification_action_id_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX notification_action_id_index ON public.notification USING btree (action_id);

--
-- Name: notification_card_id_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX notification_card_id_index ON public.notification USING btree (card_id);

--
-- Name: notification_is_read_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX notification_is_read_index ON public.notification USING btree (is_read);

--
-- Name: notification_user_id_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX notification_user_id_index ON public.notification USING btree (user_id);

--
-- Name: project_manager_user_id_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX project_manager_user_id_index ON public.project_manager USING btree (user_id);

--
-- Name: session_remote_address_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX session_remote_address_index ON public.session USING btree (remote_address);

--
-- Name: session_user_id_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX session_user_id_index ON public.session USING btree (user_id);

--
-- Name: task_card_id_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX task_card_id_index ON public.task USING btree (card_id);

--
-- Name: task_position_index; Type: INDEX; Schema: public; Owner: postgres
--

CREATE INDEX task_position_index ON public.task USING btree ("position");

--
-- PostgreSQL database dump complete
--
meltyshev commented 1 year ago

@azuledu Thank you so much for providing the dump, it helped a lot to find the error 🙏

My bad, I missed one condition, and during the initial loading, an empty board used to be created in the ORM on the front-end. But for some reason (probably when an ID ends in 0), this board was created with the ID of the last loaded board, so it just overwrote it with empty values. Addressing an empty field is what caused the error.

azuledu commented 1 year ago

Cool! Pleased to help. Thanks for your work.

azuledu commented 1 year ago

uhmmm... I suppose I need to fix my database manually to make my Planka installation work again. Any advice? Any idea?

meltyshev commented 1 year ago

Nope, the error was only on the front-end, so everything should just work. The image with the new version will be ready in about 2 hours.

azuledu commented 1 year ago

ah!, ok. I thought that the last image already contained the fix. I wait, no problem.

LouisVallat commented 1 year ago

I still have the borked instance, I'll try to update a copy and see if it starts back with my data with your new fix, please let us know when the fixed version is out 😄

meltyshev commented 1 year ago

The image with version 1.8.9 is ready 🙂

LouisVallat commented 1 year ago

Yup! Just applied the update, and it just worked!

Thank you for the fix, I'm glad it was as easy as it was :smile:

image

Thank you again for that prompt reaction, I love this project please continue :100:

azuledu commented 1 year ago

It works like a charm! Thanks