В настоящее время я пытаюсь получить некоторые фиктивные данные для своего проекта. Итак, я настраиваю файл докера и пытаюсь загрузить некоторые данные из файла 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
docker-entrypoint-initdb.d
запускается один раз при первом запуске или когда вы вручную удаляете каталог данных - person Nico Haase   schedule 19.03.2021LOAD DATA LOCAL INFILE
строки в примере скрипта? Если это ваш настоящий скрипт, и вы ожидаете, что он будет выполнен, вам лучше раскомментировать строки. - person markusjm   schedule 19.03.2021