我想让离线反应本机应用程序,所以我使用西瓜数据库,但我的问题是当我从 laravel 服务器中提取数据时它返回空对象。我的反应本机代码migration.js
import { schemaMigrations, createTable } from '@nozbe/watermelondb/Schema/migrations'
export default schemaMigrations({
migrations: [
{
toVersion: 2,
steps: [
createTable({
name: 'users',
columns: [
{ name: 'full_name', type: 'string' },
....
],
}),
],
},
],
})
schem.js
import { appSchema, tableSchema } from '@nozbe/watermelondb'
export const mySchema = appSchema({
version: 2,
tables: [
tableSchema({
name: 'users',
columns: [
{ name: 'full_name', type: 'string' },
....
]
}),
]
})
拉取请求代码
import { mySchema } from '../../src/db/schema';
import SQLiteAdapter from '@nozbe/watermelondb/adapters/sqlite'
import { Database } from '@nozbe/watermelondb';
import { synchronize } from '@nozbe/watermelondb/sync'
import migrations from '../../src/db/migrations'
const adapter = new SQLiteAdapter({
dbName: 'diary',
schema: mySchema,
migrations,
jsi: true,
})
const database = new Database({
adapter,
modelClasses: [Task, Lawyer],
})
async mySync() {
await synchronize({
database,
pullChanges: async ({ lastPulledAt, schemaVersion, migration }) => {
.....
},
})
}
当我控制台警告迁移它返回 null ,这意味着我的数据库是最新的,这是错误的,因为我是第一次提取数据并且我的本地数据库是空的