создание файлов дампа sqlite3 со всеми значениями таблицы

Я могу создать файл дампа sqlite3 с помощью

sqlite3 app.db .dump > app_dump.sql

однако, если в этой базе данных есть строка, в которой нет записи, она просто отсутствует в файле дампа. Это проблема при использовании файла дампа для чтения данных в другую базу данных. Есть ли способ заставить файл дампа иметь все значения, определенные в таблице? Итак, если записи нет, она просто использует пустую строку '' или что-то в этом роде? спасибо карл


person carl    schedule 30.01.2016    source источник


Ответы (1)


Вывод .dump всегда включает все строки таблицы:

sqlite> create table t(x);
sqlite> insert into t values (null), (0), (''), (x'');
sqlite> select * from t;

0


sqlite> .dump
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE t(x);
INSERT INTO "t" VALUES(NULL);
INSERT INTO "t" VALUES(0);
INSERT INTO "t" VALUES('');
INSERT INTO "t" VALUES(X'');
COMMIT;
person CL.    schedule 30.01.2016
comment
спасибо... вы правы, у него есть все столбцы, но, похоже, они переставлены... во всяком случае, я решил это, переставив мои модели.py... - person carl; 30.01.2016
comment
Столбцы расположены точно в том порядке, в котором ваш код Python использовал оператор CREATE TABLE. - person CL.; 31.01.2016