【问题标题】:Create a different local database for different users in chat app为聊天应用中的不同用户创建不同的本地数据库
【发布时间】:2021-10-21 10:04:10
【问题描述】:

我创建了一个带有本地数据库的聊天应用程序来存储用户的消息。但是当我注销并使用其他用户登录时,旧的消息数据仍然存在。我不想在用户重新登录的情况下清除该数据,因为这些消息未在服务器中备份。那么如何为其他用户创建不同的数据库呢?

_createChatTable(Database db) async {
    await db
        .execute(
          """CREATE TABLE chats(
            id TEXT PRIMARY KEY,
            username TEXT NOT NULL,
            unread INTEGER,
            message_type TEXT,
            created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL
            )""",
        )
        .then((_) => print('creating table chats...'))
        .catchError((e) => print('error creating chats table: $e'));
  }

这是当前创建数据库的函数。

【问题讨论】:

  • 使用相同的数据库,但使用添加字段 login_user_id 来保存消息并始终通过使用 login_user_id 检查条件来过滤消息。永远不要清除数据库

标签: flutter dart sqflite


【解决方案1】:

假设您使用的是 sqflite。 你可以打开另一个数据库文件,不是吗?

_db = await openDatabase(filePath, version: version, onCreate: _onCreate);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-22
    • 2018-05-30
    • 2011-04-03
    • 2023-04-08
    • 2020-08-18
    • 1970-01-01
    • 1970-01-01
    • 2014-10-07
    相关资源
    最近更新 更多