Если я изменю тип поля в базе данных sqlite3 со строки на текст, потеряю ли я данные в этом поле? - PullRequest
1 голос
/ 27 сентября 2010

Если я изменю тип поля в моей базе данных посредством миграции Ruby on Rails со строки на текст, потеряю ли я данные в поле?

Ответы [ 2 ]

6 голосов
/ 27 сентября 2010

Насколько я помню, SQLite использует тип только для ввода / вывода. Внутри все хранится в виде текста (поэтому вы также можете хранить текст во внутреннем поле, если хотите). Так что нет, он не должен удалять какие-либо данные, потому что это только поверхностное изменение.

Никаких гарантий, тем не менее, прошло много времени с тех пор, как я последний раз работал с SQLite; -)

Эта страница хорошо объясняет систему набора SQLite.

1 голос
/ 28 сентября 2010

Вы не потеряете данные.Строка и текст в SQLite одинаковы.На самом деле в SQLite есть только пять типов (NULL, INTEGER, REAL, TEXT, BLOB).Даже если ваше поле изначально содержало двоичные данные (BLOB) и тип базы данных был изменен на TEXT, данные не изменятся, если вы не сохраните новые данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...