rename_column is destructive with sqlite?

This has never happened to me before, or I just didn’t notice.

The thing is, I’ve renamed a couple of integer columns. Now, everywhere I migrated with SQLite there is no data in the same columns, just nils. I remembered that SQLite doesn’t allow ALTER TABLE renaming of columns and that the adapter hacks around it with a temp table, so I looked for unit tests that cover the feature. I found them in “test/copy_table_sqlite.rb”; they weren’t a part of the suite. I’ve posted a minor patch in #8328 to fix the issue and even tweaked the value-comparing test a little, but the problem is - it passes. SQLite successfully renames a column and preserves all values, but in my case the operation was destructive and I had to restore data in those columns from a backup.

Did it happen to anyone else? Can someone try to quickly reproduce it with SQLite3?


Cheers, applied