Скрипт создания таблицы генерирует неправильную таблицуPython

Программы на Python
Ответить
Anonymous
 Скрипт создания таблицы генерирует неправильную таблицу

Сообщение Anonymous »

У меня есть сценарий схемы базы данных, который я использую для настройки нового экземпляра. Проблема в том, что одна из таблиц (параметр) создана неправильно.
Сценарий был создан путем экспорта из SQLiteStudio 3.4.17 и выглядит следующим образом (отрывок) на Python:

Код: Выделить всё

connection = sql3.connect(fDbFileName)
sqlScript = """DROP TABLE IF EXISTS Parameter;
CREATE TABLE Parameter (
ID INTEGER PRIMARY KEY NOT NULL UNIQUE,

Description TEXT NOT NULL DEFAULT (''),

JsonTimeStampFieldName TEXT NOT NULL
CHECK (JsonTimeStampFieldName IN ('date', 'to') ),

InheritanceDiscriminator TEXT NOT NULL
CHECK (InheritanceDiscriminator IN ('CODE', 'VALUE') )
);"""
connection.executescript(sqlScript)
Однако DDL для создаваемой таблицы будет выглядеть следующим образом:

Код: Выделить всё

CREATE TABLE Parameter (
ID                       INTEGER,
Description              TEXT,
JsonTimeStampFieldName   TEXT,
InheritanceDiscriminator TEXT
);
Запуск того же сценария из командной строки SQLite создает правильную таблицу. Я что-то упустил или есть проблема с SQLite3 в Python?

Подробнее здесь: https://stackoverflow.com/questions/798 ... rong-table
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»