Skip to content

Commit 30ec770

Browse files
committed
fix Safety error may not be changed inside a transaction error
1 parent cc04287 commit 30ec770

1 file changed

Lines changed: 35 additions & 35 deletions

File tree

src/database/db.ts

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ const setPragmas = (executor: SqlExecutor) => {
6060
'PRAGMA cache_size = 10000',
6161
'PRAGMA foreign_keys = ON',
6262
];
63-
executor.executeSync(queries.join(';\n'));
63+
queries.forEach(query => executor.executeSync(query));
6464
};
6565
const populateDatabase = (executor: SqlExecutor) => {
6666
console.log('Populating database');
@@ -76,7 +76,6 @@ const createDbTriggers = (executor: SqlExecutor) => {
7676
};
7777

7878
export const runDatabaseBootstrap = (executor: SqlExecutor) => {
79-
setPragmas(executor);
8079
createDbTriggers(executor);
8180
populateDatabase(executor);
8281
};
@@ -85,44 +84,45 @@ type InitDbState = {
8584
success?: boolean;
8685
error?: Error;
8786
};
87+
const initialState = {
88+
success: false,
89+
error: undefined,
90+
};
91+
const fetchReducer = (
92+
state$1: InitDbState,
93+
action:
94+
| {
95+
type: 'migrating' | 'migrated';
96+
payload?: boolean | undefined;
97+
}
98+
| {
99+
type: 'error';
100+
payload: Error;
101+
},
102+
) => {
103+
switch (action.type) {
104+
case 'migrating':
105+
return { ...initialState };
106+
case 'migrated':
107+
return {
108+
...initialState,
109+
success: action.payload,
110+
};
111+
case 'error':
112+
return {
113+
...initialState,
114+
error: action.payload,
115+
};
116+
default:
117+
return state$1;
118+
}
119+
};
88120

89121
export const useInitDatabase = () => {
90-
const initialState = {
91-
success: false,
92-
error: undefined,
93-
};
94-
const fetchReducer = (
95-
state$1: InitDbState,
96-
action:
97-
| {
98-
type: 'migrating' | 'migrated';
99-
payload?: boolean | undefined;
100-
}
101-
| {
102-
type: 'error';
103-
payload: Error;
104-
},
105-
) => {
106-
switch (action.type) {
107-
case 'migrating':
108-
return { ...initialState };
109-
case 'migrated':
110-
return {
111-
...initialState,
112-
success: action.payload,
113-
};
114-
case 'error':
115-
return {
116-
...initialState,
117-
error: action.payload,
118-
};
119-
default:
120-
return state$1;
121-
}
122-
};
123122
const [state, dispatch] = useReducer(fetchReducer, initialState);
124123
useEffect(() => {
125124
dispatch({ type: 'migrating' });
125+
setPragmas(_db);
126126
migrate(drizzleDb, migrations)
127127
.then(() => {
128128
runDatabaseBootstrap(_db);

0 commit comments

Comments
 (0)