MariaDB с Docker пытается загрузить файл SQL

В настоящее время я пытаюсь получить некоторые фиктивные данные для своего проекта. Итак, я настраиваю файл докера и пытаюсь загрузить некоторые данные из файла csv. Я не получаю никаких ошибок, просто пустая база данных.

Докер:

version: "3.3"

services:
  maria-db:
    image: 'mariadb:latest'
    ports:
      - '3307:3306'
    environment:
      MYSQL_DATABASE: 'researchprojectdb'
      # So you don't have to use root, but you can if you like
      MYSQL_USER: 'user'
      # You can use whatever password you like
      MYSQL_PASSWORD: 'password'
      # Password for root access
      MYSQL_ROOT_PASSWORD: 'admin'
    volumes:
      - ./scripts/researchprojectdb.sql:/docker-entrypoint-initdb.d/1.sql
      - ./data:/var/lib/mysql-files

SQL-скрипт:

CREATE TABLE ROLES (
    role_id int PRIMARY KEY,
    role varchar(20)
);

CREATE TABLE USERS (
    user_id int PRIMARY KEY,
    firstname varchar(83),
    lastname varchar(83),
    email varchar(83),
    password varchar(83)
    role_id int,
    foreign key (role_id) references roles(role_id)
);

INSERT INTO ROLES VALUES(1, 'student');
INSERT INTO USERS VALUES(1,'Jan', 'Met de pet', '[email protected]', 'depet', 1);
-- LOAD DATA LOCAL INFILE '/var/lib/mysql-files/rolesdata.csv' into TABLE ROLES FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 0 ROWS;
-- LOAD DATA LOCAL INFILE '/var/lib/mysql-files/usersdata.csv' into TABLE USERS FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 0 ROWS;

а затем я использую 2 файла .csv со следующими данными:

Роли:

1   student
2   administrator
3   company

Данные пользователя

1   Jan heas    [email protected] depet   1

person Jens Panis    schedule 19.03.2021    source источник
comment
Что вы пытались отладить проблему?   -  person Nico Haase    schedule 19.03.2021
comment
Отвечает ли это на ваш вопрос? Как выполнить докер -entrypoint-initdb.d/init.sql файлы ПОСЛЕ создания базы данных?   -  person Nico Haase    schedule 19.03.2021
comment
@NicoHaase Другими словами, то, что вы хотите, невозможно. Вам нужно либо создать базу данных и table1 в init.sql и сказать Django не пытаться создавать их, если они уже существуют, либо каким-то образом добавить свой INSERT.. в список выполняемых миграций. Я не очень понимаю, что это значит и как это решить?   -  person Jens Panis    schedule 19.03.2021
comment
stackoverflow.com/questions/38504257/ является лучшим дубликатом: все содержимое в docker-entrypoint-initdb.d запускается один раз при первом запуске или когда вы вручную удаляете каталог данных   -  person Nico Haase    schedule 19.03.2021
comment
Он случайно закомментировал LOAD DATA LOCAL INFILE строки в примере скрипта? Если это ваш настоящий скрипт, и вы ожидаете, что он будет выполнен, вам лучше раскомментировать строки.   -  person markusjm    schedule 19.03.2021