0

我想让离线反应本机应用程序,所以我使用西瓜数据库,但我的问题是当我从 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 ,这意味着我的数据库是最新的,这是错误的,因为我是第一次提取数据并且我的本地数据库是空的

4

0 回答 0