Тип «сsv»

Условия и ограничения:

  1. загружаемый файл должен быть в формате .csv;

  2. в загружаемом файле не должно быть столбцов с одинаковыми наименованиями (к одинаковым наименованиям также относятся поля типа «код» и «kod», т.к. при создании модели для поля «код» сформируется наименование на латинице – «kod», что приведет к дублированию полей в таблице);

  3. кодировка файла должна быть UTF–8;

  4. начальные и конечные пробелы не учитываются при распознавании значений и при чтении значений типов, отличных от строкового. Если значение состоит только из пробелов, и тип столбца – не строковый, то значение будет пустым (null – для чисел и дат, false – для булевого типа);

  5. кавычки в типе «CSV» не используются как подсказка для определения типа; число в кавычках будет распознано как число;

  6. целые числа – последовательность десятичных цифр, без разделителей;

  7. вещественные числа – точка в качестве десятичного разделителя, не поддерживается экспоненциальная нотация (1.23e2 = 123);

  8. булевы значения – true/false (регистронезависимо);

  9. значение в форматах, перечисленных в таблице выше (см. Таблица «Форматы и примеры значений»), определяется как тип datetime64[ns, UTC].

    Описание особенностей обработки часового пояса:

    • если исходное значение даты со временем было без часового пояса – то в БД сохраняется именно это значение;

    • если исходное значение даты со временем было с часовым поясом – то преобразуется в UTC перед сохранением в БД (в БД сохраняется также без часового пояса);

    • на уровне внутренних контрактов между источниками данных: данные передаются как значение, привязанное к UTC, при сохранении в БД привязка к UTC не учитывается.

  10. в модели обращение к таблице источника типа «csv» выполняется через default. Например: SELECT * FROM `default`