Mise en ligne : vendredi 11 octobre 2024
Nous allons créer une table, qui nous permettra de stocker des listes.
La table aura les éléments suivants :
Après avoir créé la table, nous devrons créer le modèle associé et le rendre accessible dans l'application.
A vous de jouer !
Essayez de réaliser ce TP sans regarder la correction.
src/database/model/schema.jstableSchema({
name: 'task_lists',
columns: [
{ name: 'name', type: 'string' },
{ name: 'description', type: 'string', isOptional: true },
{ name: 'created_at', type: 'number' },
{ name: 'updated_at', type: 'number' },
{ name: 'is_archived', type: 'boolean' },
],
}),
src/database/model/TaskList.jsimport { Model } from '@nozbe/watermelondb';
import { date, text, field, readonly } from '@nozbe/watermelondb/decorators';
export default class TaskList extends Model {
static table = 'task_lists';
@text('name') name;
@text('description') description;
@readonly @date('created_at') createdAt;
@readonly @date('updated_at') updatedAt;
@field('is_archived') isArchived;
}
N'oubliez pas de rajouter TaskLIst dans le modelClasses de la database, sinon nous ne pourrons pas l'utiliser dans l'application.
src/database/database.jsexport const database = new Database({
adapter,
modelClasses: [TaskList],
});
Nous pouvons désormais nous attaquer à l'ajout et la lecture des listes, mais ça sera le sujet de prochains articles 😏.