Я начинаю использовать peewee с движком базы данных sqlite, и у меня возникает путаница в отношении того, какой тип поля мне следует использовать.Сейчас я пишу небольшие сценарии для себя, поэтому производительность не является проблемой, но возможна потеря данных из-за ограничений типов данных.
В официальной документации peewee хотя в списке много типовинформация о них не предоставлена.Хотелось бы, чтобы их ограничения были предоставлены более понятным способом, как w3 сделал .
Сейчас я провожу различные тесты и получаю странные результаты.Как и IntegerField, BigIntegerField и SmallIntegerField на самом деле отображаются в одном и том же типе столбца (в чем смысл их отличать?).CharField отображается на VARCHAR (255), но я могу хранить там большие объемы текста - это безопасно или должно рассматриваться как непредсказуемое поведение?FixedCharField позволяет также хранить большие тексты, но не портить их, не обрезая и т. Д. Я также исследовал документацию sqlite , но было введено только 5 основных типов.Хотя я ясно вижу в браузере БД для SQLite и в расширении БД браузера для PyCharm, что peewee фактически использует более широкое отображение (скажем, использует VARCHAR, не представленный sqlite) или интерпретирует существующие типы по-своему (скажем, разрешить .save ()Огромное разнообразие значений в BooleanField усекает их до 0 или 1).
В лучшем случае я хотел бы знать точные пределы и разницу между всеми 25 типами полей при использовании движка sqlite.Хотя было бы неплохо знать только типы полей с наибольшими ограничениями для хранения целочисленных, с плавающей запятой, текста и произвольных двоичных данных - в этих обобщенных категориях - какие я должен выбрать для безопасного хранения наибольшего количества данных?