Skip to content

Commit 14f4b0c

Browse files
committed
Cleaned migrate a little bit,still needs some work
1 parent cafc1de commit 14f4b0c

1 file changed

Lines changed: 35 additions & 45 deletions

File tree

src/playActivity/migrateDB.h

Lines changed: 35 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -21,49 +21,6 @@ static DBHandle __migrate_cache_handles[MIGRATE_DB_MAX_FILES];
2121
static int __migrate_cache_count = 0;
2222

2323
static sqlite3 *play_activity_db = NULL;
24-
void play_activity_db_open(void)
25-
{
26-
if (play_activity_db != NULL)
27-
return;
28-
29-
bool play_activity_db_created = is_file(PLAY_ACTIVITY_DB_NEW_FILE);
30-
31-
mkdir("/mnt/SDCARD/Saves/CurrentProfile/play_activity/", 0777);
32-
33-
if (sqlite3_open(PLAY_ACTIVITY_DB_NEW_FILE, &play_activity_db) != SQLITE_OK) {
34-
printf("%s\n", sqlite3_errmsg(play_activity_db));
35-
sqlite3_close(play_activity_db);
36-
play_activity_db = NULL;
37-
return;
38-
}
39-
40-
if (!play_activity_db_created) {
41-
sqlite3_exec(play_activity_db,
42-
"DROP TABLE IF EXISTS rom;"
43-
"CREATE TABLE rom(id INTEGER PRIMARY KEY, type TEXT, name TEXT, file_path TEXT, image_path TEXT, created_at INTEGER DEFAULT (strftime('%s', 'now')), updated_at INTEGER);"
44-
"CREATE UNIQUE INDEX rom_id_index ON rom(id);",
45-
NULL, NULL, NULL);
46-
sqlite3_exec(play_activity_db,
47-
"DROP TABLE IF EXISTS play_activity;"
48-
"CREATE TABLE play_activity(rom_id INTEGER, play_time INTEGER, created_at INTEGER DEFAULT (strftime('%s', 'now')), updated_at INTEGER);"
49-
"CREATE INDEX play_activity_rom_id_index ON play_activity(rom_id);",
50-
NULL, NULL, NULL);
51-
}
52-
}
53-
54-
sqlite3_stmt *play_activity_db_prepare(char *sql)
55-
{
56-
printf_debug("play_activity_db_prepare(%s)\n", sql);
57-
if (play_activity_db == NULL) {
58-
printf("DB is not open");
59-
return NULL;
60-
}
61-
sqlite3_stmt *stmt = NULL;
62-
if (sqlite3_prepare_v2(play_activity_db, sql, -1, &stmt, NULL) != SQLITE_OK) {
63-
printf("%s: %s\n", sqlite3_errmsg(play_activity_db), sqlite3_sql(stmt));
64-
}
65-
return stmt;
66-
}
6724

6825
int __db_insert_rom(const char *rom_type, const char *rom_name, const char *file_path, const char *image_path)
6926
{
@@ -77,7 +34,15 @@ int __db_insert_rom(const char *rom_type, const char *rom_name, const char *file
7734
sqlite3_exec(play_activity_db, sql, NULL, NULL, NULL);
7835
sqlite3_free(sql);
7936

80-
sqlite3_stmt *stmt = play_activity_db_prepare("SELECT id FROM rom WHERE ROWID = last_insert_rowid()");
37+
printf_debug("play_activity_db_prepare(%s)\n", sql);
38+
if (play_activity_db == NULL) {
39+
printf("DB is not open");
40+
return NULL;
41+
}
42+
sqlite3_stmt *stmt = NULL;
43+
if (sqlite3_prepare_v2(play_activity_db, sql, -1, &stmt, NULL) != SQLITE_OK) {
44+
printf("%s: %s\n", sqlite3_errmsg(play_activity_db), sqlite3_sql(stmt));
45+
}
8146
if (sqlite3_step(stmt) == SQLITE_ROW) {
8247
rom_id = sqlite3_column_int(stmt, 0);
8348
}
@@ -165,7 +130,32 @@ void migrateDB(void)
165130
int totalOrphan = 0;
166131

167132
printf("\n%d games to migrate\n", rom_list_len);
168-
play_activity_db_open();
133+
if (play_activity_db != NULL)
134+
return;
135+
136+
bool play_activity_db_created = is_file(PLAY_ACTIVITY_DB_NEW_FILE);
137+
138+
mkdir("/mnt/SDCARD/Saves/CurrentProfile/play_activity/", 0777);
139+
140+
if (sqlite3_open(PLAY_ACTIVITY_DB_NEW_FILE, &play_activity_db) != SQLITE_OK) {
141+
printf("%s\n", sqlite3_errmsg(play_activity_db));
142+
sqlite3_close(play_activity_db);
143+
play_activity_db = NULL;
144+
return;
145+
}
146+
147+
if (!play_activity_db_created) {
148+
sqlite3_exec(play_activity_db,
149+
"DROP TABLE IF EXISTS rom;"
150+
"CREATE TABLE rom(id INTEGER PRIMARY KEY, type TEXT, name TEXT, file_path TEXT, image_path TEXT, created_at INTEGER DEFAULT (strftime('%s', 'now')), updated_at INTEGER);"
151+
"CREATE UNIQUE INDEX rom_id_index ON rom(id);",
152+
NULL, NULL, NULL);
153+
sqlite3_exec(play_activity_db,
154+
"DROP TABLE IF EXISTS play_activity;"
155+
"CREATE TABLE play_activity(rom_id INTEGER, play_time INTEGER, created_at INTEGER DEFAULT (strftime('%s', 'now')), updated_at INTEGER);"
156+
"CREATE INDEX play_activity_rom_id_index ON play_activity(rom_id);",
157+
NULL, NULL, NULL);
158+
}
169159

170160
for (int i = 0; i < LEGACY_DB_MAX; i++) {
171161
if ((strlen(rom_list[i].name) == 0) || (rom_list[i].playTime) == 0) {

0 commit comments

Comments
 (0)