我正在测试核心数据访问的iphone中的sqlite3数据库。
我创建了文件db.sqlite3并在其中创建了一个表mccategory,其中包含一些记录并将其拖到我项目的resources文件夹中。
CREATE TABLE category ( id , category, parent_category, short_name, long_name, description);
我在proj.xcdatamodeld
中构建了核心数据模型实体mccategory我看到在运行应用程序时它正在检索0行,所以我从命令行打开了db.sqlite3文件,看到原始类别表不存在,而新的类表创建了zmccategory,带有一些额外的字段。 / p>
CREATE TABLE ZMCCATEGORY (
Z_PK INTEGER PRIMARY KEY,
Z_ENT INTEGER,
Z_OPT INTEGER,
ZCATEGORY VARCHAR,
ZDESC VARCHAR,
ZID VARCHAR,
ZLONG_NAME VARCHAR,
ZPARENT_CATEGORY VARCHAR,
ZSHORT_NAME VARCHAR );
我意识到我创建的原始表已经丢失,并且根据我在proj.xcdatamodeld文件中创建的实体的定义创建了一个新表。
所以我复制了新生成的zmccategory表并在其中插入了一些行并再次将新文件拖入xcode。
INSERT INTO ZMCCATEGORY (Z_PK,Z_ENT,Z_OPT,ZCATEGORY,ZDESC,ZID,ZLONG_NAME, ZPARENT_CATEGORY,ZSHORT_NAME)
VALUES (1,1,1,'All Categories','All Categories','1','All Categories','0','All Categories');
我重新运行了模拟器,它仍显示返回0行。所以我再次在命令行打开db.sqlite3文件,再次看到表中没有行。
是否有任何解决方案允许将以前正确填充的sqlite3数据库和表导入到xcode 5中。这比现在更难以实现。