在我的旧html" target="_blank">sqlite表中,我有这些列(id INTEGER主键AUTOINCREMENT、api_response_json TEXT、api_req TEXT、post_params TEXT、req_type VARCHAR、timestamp timestamp)
@Override
public void migrate(SupportSQLiteDatabase database) {
// Create the new table
database.execSQL(
"CREATE TABLE users_new (id INTEGER PRIMARY KEY AUTOINCREMENT,api_response_json TEXT, api_req TEXT,post_params TEXT,req_type VARCHAR,timestamp TIMESTAMP)");
// Copy the data
database.execSQL("INSERT INTO users_new (id,api_response_json, api_req,post_params,req_type,timestamp) "
+ "SELECT id,api_response_json, api_req,post_params, req_type,timestamp "
+ "FROM old_Table_name");
// Remove the old table
database.execSQL("DROP TABLE old_Table_name");
// Change the table name to the correct one
database.execSQL("ALTER TABLE users_new RENAME TO old_Table_name");}
};
我收到一个错误迁移没有正确处理
应为:TableInfo{name='api_data',columns={timestamp=column{name='timestam',type='text',notnull=false,primarykeyposition=0},req_type=column{name='req_type',type='text',notnull=false,primarykeyposition=0},post_params=column{name='post_params',type='text',notnull=false,primarykeyposition=0},id=column{name='id',type='integer',notnull=false,'api_response_json',type='text',notnull=false,primarykeyposition=0},api_req=column{name='api_req',type='text',notnull=false,primarykeyposition=0}},foreignkeys=[],indices=[]}
找到:TableInfo{name='api_data',columns={timestamp=column{name='timestamp',type='timestamp',notnull=false,primarykeyposition=0},req_type=column{name='req_type',type='varchar',notnull=false,primarykeyposition=0},post_params=column{name='post_params',type='text',notnull=false,primarykeyposition=0},id=column{name='id',type='integer',notnull=false,{name='api_response_json',type='text',notnull=false,primarykeyposition=0},api_req=column{name='api_req',type='text',notnull=false,primarykeyposition=0}},foreignkeys=[],indices=[]}
时间戳和VARCHAR有问题。
是的,TIMESTAMP和VARCHAR中有问题,您应该将其更改为:
static final Migration MIGRATION_1_2 = new Migration(1, 2) {
@Override
public void migrate(SupportSQLiteDatabase database) {
// Create the new table
database.execSQL(
"CREATE TABLE users_new (id INTEGER PRIMARY KEY AUTOINCREMENT,api_response_json TEXT, api_req TEXT,post_params TEXT,req_type TEXT,timestamp TEXT)");
// Copy the data
database.execSQL("INSERT INTO users_new (id,api_response_json, api_req,post_params,req_type,timestamp) "
+ "SELECT id,api_response_json, api_req,post_params, req_type,timestamp "
+ "FROM old_Table_name");
// Remove the old table
database.execSQL("DROP TABLE old_Table_name");
// Change the table name to the correct one
database.execSQL("ALTER TABLE users_new RENAME TO old_Table_name");}
};
答案就在您的迁移错误中
在构建Room数据库之前,我尝试保留旧的SqliteOpenHelper并使用它从1升级到3。这在第一次运行时有效,但随后的运行会使SqliteOpenHelper崩溃,因为它不能降级数据库(Room成功升级到v4,但open helper只知道v3。使用它来确保升级到v3的数据库会导致它尝试降级)
我必须将昨天添加的一位同事的迁移应用到我的本地数据库: 问题是我的表中已经有数据并且迁移失败: 有什么方法可以避免这种冲突,而不必清除< code>Document表中的所有数据?
问题内容: 我不想破坏我网站上的所有用户。但是我想利用Django 1.5的自定义可插入用户模型。这是我的新用户模型: 一切都可以在新安装的新模型上正常工作(我还有其他代码,并且有这样做的充分理由-所有这些在这里都无关紧要)。但是,如果我将其放在我的活动站点上并进行同步数据库和迁移,我将失去所有用户,或者至少他们将位于与为新模型创建的新表不同的孤立表中。 我对South很熟悉,但是根据这篇文章和我
我试图将现有的Spring项目迁移到Spring Boot。在项目中已经使用了Spring Data JPA/Hibernate和带有JDBC的简单DAO(使用了PostgreSQL)。在几个州,我发现所有我需要在Spring Boot迁移,是: 添加必要的依赖项 添加入口点@SpringBootApplication 利润,仅此而已 1) 依赖项: 对于DependencyManager部分,我
我创建了一个Doctrine2实体,并想在MySQL中映射一个字段到时间戳列。 注释类型为“datetime”时,出现以下错误: 条令\DBAL\Types\ConversionException:无法将数据库值“1390362851”转换为条令类型datetime。预期格式:Y-m-d H:i:s 在63行 /var/www/packer/vendor/doctrine/dbal/lib/Doc
问题内容: 我有一些代码可以返回新的iOS 10 / Swift 3 NSData替换(?)类型:数据 我想将此映像写入磁盘,但是此类不存在NSData的方法。它确实有一个方法,但是似乎不适用于文件路径(和附加组件)。 任何人都可以澄清一下我现在该如何做,就像Swift 2中的情况一样: 谢谢! 问题答案: 使用。 例如: 或者,如果您确实对坚持不懈,请将其转换为: 但是,通常,如今最好在整个代码