migration to move achievements to session, prep for achievement and media management

This commit is contained in:
Joshua Burman
2025-01-02 19:50:29 -05:00
parent 48f716cdb0
commit 2206720810
19 changed files with 6771 additions and 186 deletions

View File

@ -37,6 +37,12 @@ class $SessionsTable extends Sessions with TableInfo<$SessionsTable, Session> {
GeneratedColumn<String>('status', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true)
.withConverter<SessionStatus>($SessionsTable.$converterstatus);
static const VerificationMeta _achievementsMeta =
const VerificationMeta('achievements');
@override
late final GeneratedColumn<String> achievements = GeneratedColumn<String>(
'achievements', aliasedName, true,
type: DriftSqlType.string, requiredDuringInsert: false);
static const VerificationMeta _addressMeta =
const VerificationMeta('address');
@override
@ -61,7 +67,7 @@ class $SessionsTable extends Sessions with TableInfo<$SessionsTable, Session> {
defaultValue: Variable(DateTime.now()));
@override
List<GeneratedColumn> get $columns =>
[id, title, content, status, address, date, createdAt];
[id, title, content, status, achievements, address, date, createdAt];
@override
String get aliasedName => _alias ?? actualTableName;
@override
@ -88,6 +94,12 @@ class $SessionsTable extends Sessions with TableInfo<$SessionsTable, Session> {
context.missing(_contentMeta);
}
context.handle(_statusMeta, const VerificationResult.success());
if (data.containsKey('achievements')) {
context.handle(
_achievementsMeta,
achievements.isAcceptableOrUnknown(
data['achievements']!, _achievementsMeta));
}
if (data.containsKey('address')) {
context.handle(_addressMeta,
address.isAcceptableOrUnknown(data['address']!, _addressMeta));
@ -118,6 +130,8 @@ class $SessionsTable extends Sessions with TableInfo<$SessionsTable, Session> {
status: $SessionsTable.$converterstatus.fromSql(attachedDatabase
.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}status'])!),
achievements: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}achievements']),
address: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}address']),
date: attachedDatabase.typeMapping
@ -141,6 +155,7 @@ class Session extends DataClass implements Insertable<Session> {
final String title;
final String content;
final SessionStatus status;
final String? achievements;
final String? address;
final DateTime? date;
final DateTime createdAt;
@ -149,6 +164,7 @@ class Session extends DataClass implements Insertable<Session> {
required this.title,
required this.content,
required this.status,
this.achievements,
this.address,
this.date,
required this.createdAt});
@ -162,6 +178,9 @@ class Session extends DataClass implements Insertable<Session> {
map['status'] =
Variable<String>($SessionsTable.$converterstatus.toSql(status));
}
if (!nullToAbsent || achievements != null) {
map['achievements'] = Variable<String>(achievements);
}
if (!nullToAbsent || address != null) {
map['address'] = Variable<String>(address);
}
@ -178,6 +197,9 @@ class Session extends DataClass implements Insertable<Session> {
title: Value(title),
content: Value(content),
status: Value(status),
achievements: achievements == null && nullToAbsent
? const Value.absent()
: Value(achievements),
address: address == null && nullToAbsent
? const Value.absent()
: Value(address),
@ -195,6 +217,7 @@ class Session extends DataClass implements Insertable<Session> {
content: serializer.fromJson<String>(json['content']),
status: $SessionsTable.$converterstatus
.fromJson(serializer.fromJson<String>(json['status'])),
achievements: serializer.fromJson<String?>(json['achievements']),
address: serializer.fromJson<String?>(json['address']),
date: serializer.fromJson<DateTime?>(json['date']),
createdAt: serializer.fromJson<DateTime>(json['createdAt']),
@ -209,6 +232,7 @@ class Session extends DataClass implements Insertable<Session> {
'content': serializer.toJson<String>(content),
'status': serializer
.toJson<String>($SessionsTable.$converterstatus.toJson(status)),
'achievements': serializer.toJson<String?>(achievements),
'address': serializer.toJson<String?>(address),
'date': serializer.toJson<DateTime?>(date),
'createdAt': serializer.toJson<DateTime>(createdAt),
@ -220,6 +244,7 @@ class Session extends DataClass implements Insertable<Session> {
String? title,
String? content,
SessionStatus? status,
Value<String?> achievements = const Value.absent(),
Value<String?> address = const Value.absent(),
Value<DateTime?> date = const Value.absent(),
DateTime? createdAt}) =>
@ -228,6 +253,8 @@ class Session extends DataClass implements Insertable<Session> {
title: title ?? this.title,
content: content ?? this.content,
status: status ?? this.status,
achievements:
achievements.present ? achievements.value : this.achievements,
address: address.present ? address.value : this.address,
date: date.present ? date.value : this.date,
createdAt: createdAt ?? this.createdAt,
@ -238,6 +265,9 @@ class Session extends DataClass implements Insertable<Session> {
title: data.title.present ? data.title.value : this.title,
content: data.content.present ? data.content.value : this.content,
status: data.status.present ? data.status.value : this.status,
achievements: data.achievements.present
? data.achievements.value
: this.achievements,
address: data.address.present ? data.address.value : this.address,
date: data.date.present ? data.date.value : this.date,
createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt,
@ -251,6 +281,7 @@ class Session extends DataClass implements Insertable<Session> {
..write('title: $title, ')
..write('content: $content, ')
..write('status: $status, ')
..write('achievements: $achievements, ')
..write('address: $address, ')
..write('date: $date, ')
..write('createdAt: $createdAt')
@ -259,8 +290,8 @@ class Session extends DataClass implements Insertable<Session> {
}
@override
int get hashCode =>
Object.hash(id, title, content, status, address, date, createdAt);
int get hashCode => Object.hash(
id, title, content, status, achievements, address, date, createdAt);
@override
bool operator ==(Object other) =>
identical(this, other) ||
@ -269,6 +300,7 @@ class Session extends DataClass implements Insertable<Session> {
other.title == this.title &&
other.content == this.content &&
other.status == this.status &&
other.achievements == this.achievements &&
other.address == this.address &&
other.date == this.date &&
other.createdAt == this.createdAt);
@ -279,6 +311,7 @@ class SessionsCompanion extends UpdateCompanion<Session> {
final Value<String> title;
final Value<String> content;
final Value<SessionStatus> status;
final Value<String?> achievements;
final Value<String?> address;
final Value<DateTime?> date;
final Value<DateTime> createdAt;
@ -287,6 +320,7 @@ class SessionsCompanion extends UpdateCompanion<Session> {
this.title = const Value.absent(),
this.content = const Value.absent(),
this.status = const Value.absent(),
this.achievements = const Value.absent(),
this.address = const Value.absent(),
this.date = const Value.absent(),
this.createdAt = const Value.absent(),
@ -296,6 +330,7 @@ class SessionsCompanion extends UpdateCompanion<Session> {
required String title,
required String content,
required SessionStatus status,
this.achievements = const Value.absent(),
this.address = const Value.absent(),
this.date = const Value.absent(),
this.createdAt = const Value.absent(),
@ -307,6 +342,7 @@ class SessionsCompanion extends UpdateCompanion<Session> {
Expression<String>? title,
Expression<String>? content,
Expression<String>? status,
Expression<String>? achievements,
Expression<String>? address,
Expression<DateTime>? date,
Expression<DateTime>? createdAt,
@ -316,6 +352,7 @@ class SessionsCompanion extends UpdateCompanion<Session> {
if (title != null) 'title': title,
if (content != null) 'body': content,
if (status != null) 'status': status,
if (achievements != null) 'achievements': achievements,
if (address != null) 'address': address,
if (date != null) 'date': date,
if (createdAt != null) 'created_at': createdAt,
@ -327,6 +364,7 @@ class SessionsCompanion extends UpdateCompanion<Session> {
Value<String>? title,
Value<String>? content,
Value<SessionStatus>? status,
Value<String?>? achievements,
Value<String?>? address,
Value<DateTime?>? date,
Value<DateTime>? createdAt}) {
@ -335,6 +373,7 @@ class SessionsCompanion extends UpdateCompanion<Session> {
title: title ?? this.title,
content: content ?? this.content,
status: status ?? this.status,
achievements: achievements ?? this.achievements,
address: address ?? this.address,
date: date ?? this.date,
createdAt: createdAt ?? this.createdAt,
@ -357,6 +396,9 @@ class SessionsCompanion extends UpdateCompanion<Session> {
map['status'] =
Variable<String>($SessionsTable.$converterstatus.toSql(status.value));
}
if (achievements.present) {
map['achievements'] = Variable<String>(achievements.value);
}
if (address.present) {
map['address'] = Variable<String>(address.value);
}
@ -376,6 +418,7 @@ class SessionsCompanion extends UpdateCompanion<Session> {
..write('title: $title, ')
..write('content: $content, ')
..write('status: $status, ')
..write('achievements: $achievements, ')
..write('address: $address, ')
..write('date: $date, ')
..write('createdAt: $createdAt')
@ -779,12 +822,6 @@ class $SessionActivitiesTable extends SessionActivities
late final GeneratedColumn<String> results = GeneratedColumn<String>(
'results', aliasedName, true,
type: DriftSqlType.string, requiredDuringInsert: false);
static const VerificationMeta _achievementsMeta =
const VerificationMeta('achievements');
@override
late final GeneratedColumn<String> achievements = GeneratedColumn<String>(
'achievements', aliasedName, true,
type: DriftSqlType.string, requiredDuringInsert: false);
static const VerificationMeta _createdAtMeta =
const VerificationMeta('createdAt');
@override
@ -795,7 +832,7 @@ class $SessionActivitiesTable extends SessionActivities
defaultValue: Variable(DateTime.now()));
@override
List<GeneratedColumn> get $columns =>
[id, sessionId, activityId, position, results, achievements, createdAt];
[id, sessionId, activityId, position, results, createdAt];
@override
String get aliasedName => _alias ?? actualTableName;
@override
@ -833,12 +870,6 @@ class $SessionActivitiesTable extends SessionActivities
context.handle(_resultsMeta,
results.isAcceptableOrUnknown(data['results']!, _resultsMeta));
}
if (data.containsKey('achievements')) {
context.handle(
_achievementsMeta,
achievements.isAcceptableOrUnknown(
data['achievements']!, _achievementsMeta));
}
if (data.containsKey('created_at')) {
context.handle(_createdAtMeta,
createdAt.isAcceptableOrUnknown(data['created_at']!, _createdAtMeta));
@ -862,8 +893,6 @@ class $SessionActivitiesTable extends SessionActivities
.read(DriftSqlType.int, data['${effectivePrefix}position'])!,
results: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}results']),
achievements: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}achievements']),
createdAt: attachedDatabase.typeMapping
.read(DriftSqlType.dateTime, data['${effectivePrefix}created_at'])!,
);
@ -881,7 +910,6 @@ class SessionActivity extends DataClass implements Insertable<SessionActivity> {
final int activityId;
final int position;
final String? results;
final String? achievements;
final DateTime createdAt;
const SessionActivity(
{required this.id,
@ -889,7 +917,6 @@ class SessionActivity extends DataClass implements Insertable<SessionActivity> {
required this.activityId,
required this.position,
this.results,
this.achievements,
required this.createdAt});
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
@ -901,9 +928,6 @@ class SessionActivity extends DataClass implements Insertable<SessionActivity> {
if (!nullToAbsent || results != null) {
map['results'] = Variable<String>(results);
}
if (!nullToAbsent || achievements != null) {
map['achievements'] = Variable<String>(achievements);
}
map['created_at'] = Variable<DateTime>(createdAt);
return map;
}
@ -917,9 +941,6 @@ class SessionActivity extends DataClass implements Insertable<SessionActivity> {
results: results == null && nullToAbsent
? const Value.absent()
: Value(results),
achievements: achievements == null && nullToAbsent
? const Value.absent()
: Value(achievements),
createdAt: Value(createdAt),
);
}
@ -933,7 +954,6 @@ class SessionActivity extends DataClass implements Insertable<SessionActivity> {
activityId: serializer.fromJson<int>(json['activityId']),
position: serializer.fromJson<int>(json['position']),
results: serializer.fromJson<String?>(json['results']),
achievements: serializer.fromJson<String?>(json['achievements']),
createdAt: serializer.fromJson<DateTime>(json['createdAt']),
);
}
@ -946,7 +966,6 @@ class SessionActivity extends DataClass implements Insertable<SessionActivity> {
'activityId': serializer.toJson<int>(activityId),
'position': serializer.toJson<int>(position),
'results': serializer.toJson<String?>(results),
'achievements': serializer.toJson<String?>(achievements),
'createdAt': serializer.toJson<DateTime>(createdAt),
};
}
@ -957,7 +976,6 @@ class SessionActivity extends DataClass implements Insertable<SessionActivity> {
int? activityId,
int? position,
Value<String?> results = const Value.absent(),
Value<String?> achievements = const Value.absent(),
DateTime? createdAt}) =>
SessionActivity(
id: id ?? this.id,
@ -965,8 +983,6 @@ class SessionActivity extends DataClass implements Insertable<SessionActivity> {
activityId: activityId ?? this.activityId,
position: position ?? this.position,
results: results.present ? results.value : this.results,
achievements:
achievements.present ? achievements.value : this.achievements,
createdAt: createdAt ?? this.createdAt,
);
SessionActivity copyWithCompanion(SessionActivitiesCompanion data) {
@ -977,9 +993,6 @@ class SessionActivity extends DataClass implements Insertable<SessionActivity> {
data.activityId.present ? data.activityId.value : this.activityId,
position: data.position.present ? data.position.value : this.position,
results: data.results.present ? data.results.value : this.results,
achievements: data.achievements.present
? data.achievements.value
: this.achievements,
createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt,
);
}
@ -992,15 +1005,14 @@ class SessionActivity extends DataClass implements Insertable<SessionActivity> {
..write('activityId: $activityId, ')
..write('position: $position, ')
..write('results: $results, ')
..write('achievements: $achievements, ')
..write('createdAt: $createdAt')
..write(')'))
.toString();
}
@override
int get hashCode => Object.hash(
id, sessionId, activityId, position, results, achievements, createdAt);
int get hashCode =>
Object.hash(id, sessionId, activityId, position, results, createdAt);
@override
bool operator ==(Object other) =>
identical(this, other) ||
@ -1010,7 +1022,6 @@ class SessionActivity extends DataClass implements Insertable<SessionActivity> {
other.activityId == this.activityId &&
other.position == this.position &&
other.results == this.results &&
other.achievements == this.achievements &&
other.createdAt == this.createdAt);
}
@ -1020,7 +1031,6 @@ class SessionActivitiesCompanion extends UpdateCompanion<SessionActivity> {
final Value<int> activityId;
final Value<int> position;
final Value<String?> results;
final Value<String?> achievements;
final Value<DateTime> createdAt;
const SessionActivitiesCompanion({
this.id = const Value.absent(),
@ -1028,7 +1038,6 @@ class SessionActivitiesCompanion extends UpdateCompanion<SessionActivity> {
this.activityId = const Value.absent(),
this.position = const Value.absent(),
this.results = const Value.absent(),
this.achievements = const Value.absent(),
this.createdAt = const Value.absent(),
});
SessionActivitiesCompanion.insert({
@ -1037,7 +1046,6 @@ class SessionActivitiesCompanion extends UpdateCompanion<SessionActivity> {
required int activityId,
required int position,
this.results = const Value.absent(),
this.achievements = const Value.absent(),
this.createdAt = const Value.absent(),
}) : sessionId = Value(sessionId),
activityId = Value(activityId),
@ -1048,7 +1056,6 @@ class SessionActivitiesCompanion extends UpdateCompanion<SessionActivity> {
Expression<int>? activityId,
Expression<int>? position,
Expression<String>? results,
Expression<String>? achievements,
Expression<DateTime>? createdAt,
}) {
return RawValuesInsertable({
@ -1057,7 +1064,6 @@ class SessionActivitiesCompanion extends UpdateCompanion<SessionActivity> {
if (activityId != null) 'activity_id': activityId,
if (position != null) 'position': position,
if (results != null) 'results': results,
if (achievements != null) 'achievements': achievements,
if (createdAt != null) 'created_at': createdAt,
});
}
@ -1068,7 +1074,6 @@ class SessionActivitiesCompanion extends UpdateCompanion<SessionActivity> {
Value<int>? activityId,
Value<int>? position,
Value<String?>? results,
Value<String?>? achievements,
Value<DateTime>? createdAt}) {
return SessionActivitiesCompanion(
id: id ?? this.id,
@ -1076,7 +1081,6 @@ class SessionActivitiesCompanion extends UpdateCompanion<SessionActivity> {
activityId: activityId ?? this.activityId,
position: position ?? this.position,
results: results ?? this.results,
achievements: achievements ?? this.achievements,
createdAt: createdAt ?? this.createdAt,
);
}
@ -1099,9 +1103,6 @@ class SessionActivitiesCompanion extends UpdateCompanion<SessionActivity> {
if (results.present) {
map['results'] = Variable<String>(results.value);
}
if (achievements.present) {
map['achievements'] = Variable<String>(achievements.value);
}
if (createdAt.present) {
map['created_at'] = Variable<DateTime>(createdAt.value);
}
@ -1116,7 +1117,6 @@ class SessionActivitiesCompanion extends UpdateCompanion<SessionActivity> {
..write('activityId: $activityId, ')
..write('position: $position, ')
..write('results: $results, ')
..write('achievements: $achievements, ')
..write('createdAt: $createdAt')
..write(')'))
.toString();
@ -2465,6 +2465,7 @@ typedef $$SessionsTableCreateCompanionBuilder = SessionsCompanion Function({
required String title,
required String content,
required SessionStatus status,
Value<String?> achievements,
Value<String?> address,
Value<DateTime?> date,
Value<DateTime> createdAt,
@ -2474,6 +2475,7 @@ typedef $$SessionsTableUpdateCompanionBuilder = SessionsCompanion Function({
Value<String> title,
Value<String> content,
Value<SessionStatus> status,
Value<String?> achievements,
Value<String?> address,
Value<DateTime?> date,
Value<DateTime> createdAt,
@ -2524,6 +2526,9 @@ class $$SessionsTableFilterComposer
column: $table.status,
builder: (column) => ColumnWithTypeConverterFilters(column));
ColumnFilters<String> get achievements => $composableBuilder(
column: $table.achievements, builder: (column) => ColumnFilters(column));
ColumnFilters<String> get address => $composableBuilder(
column: $table.address, builder: (column) => ColumnFilters(column));
@ -2576,6 +2581,10 @@ class $$SessionsTableOrderingComposer
ColumnOrderings<String> get status => $composableBuilder(
column: $table.status, builder: (column) => ColumnOrderings(column));
ColumnOrderings<String> get achievements => $composableBuilder(
column: $table.achievements,
builder: (column) => ColumnOrderings(column));
ColumnOrderings<String> get address => $composableBuilder(
column: $table.address, builder: (column) => ColumnOrderings(column));
@ -2607,6 +2616,9 @@ class $$SessionsTableAnnotationComposer
GeneratedColumnWithTypeConverter<SessionStatus, String> get status =>
$composableBuilder(column: $table.status, builder: (column) => column);
GeneratedColumn<String> get achievements => $composableBuilder(
column: $table.achievements, builder: (column) => column);
GeneratedColumn<String> get address =>
$composableBuilder(column: $table.address, builder: (column) => column);
@ -2666,6 +2678,7 @@ class $$SessionsTableTableManager extends RootTableManager<
Value<String> title = const Value.absent(),
Value<String> content = const Value.absent(),
Value<SessionStatus> status = const Value.absent(),
Value<String?> achievements = const Value.absent(),
Value<String?> address = const Value.absent(),
Value<DateTime?> date = const Value.absent(),
Value<DateTime> createdAt = const Value.absent(),
@ -2675,6 +2688,7 @@ class $$SessionsTableTableManager extends RootTableManager<
title: title,
content: content,
status: status,
achievements: achievements,
address: address,
date: date,
createdAt: createdAt,
@ -2684,6 +2698,7 @@ class $$SessionsTableTableManager extends RootTableManager<
required String title,
required String content,
required SessionStatus status,
Value<String?> achievements = const Value.absent(),
Value<String?> address = const Value.absent(),
Value<DateTime?> date = const Value.absent(),
Value<DateTime> createdAt = const Value.absent(),
@ -2693,6 +2708,7 @@ class $$SessionsTableTableManager extends RootTableManager<
title: title,
content: content,
status: status,
achievements: achievements,
address: address,
date: date,
createdAt: createdAt,
@ -3093,7 +3109,6 @@ typedef $$SessionActivitiesTableCreateCompanionBuilder
required int activityId,
required int position,
Value<String?> results,
Value<String?> achievements,
Value<DateTime> createdAt,
});
typedef $$SessionActivitiesTableUpdateCompanionBuilder
@ -3103,7 +3118,6 @@ typedef $$SessionActivitiesTableUpdateCompanionBuilder
Value<int> activityId,
Value<int> position,
Value<String?> results,
Value<String?> achievements,
Value<DateTime> createdAt,
});
@ -3157,9 +3171,6 @@ class $$SessionActivitiesTableFilterComposer
ColumnFilters<String> get results => $composableBuilder(
column: $table.results, builder: (column) => ColumnFilters(column));
ColumnFilters<String> get achievements => $composableBuilder(
column: $table.achievements, builder: (column) => ColumnFilters(column));
ColumnFilters<DateTime> get createdAt => $composableBuilder(
column: $table.createdAt, builder: (column) => ColumnFilters(column));
@ -3222,10 +3233,6 @@ class $$SessionActivitiesTableOrderingComposer
ColumnOrderings<String> get results => $composableBuilder(
column: $table.results, builder: (column) => ColumnOrderings(column));
ColumnOrderings<String> get achievements => $composableBuilder(
column: $table.achievements,
builder: (column) => ColumnOrderings(column));
ColumnOrderings<DateTime> get createdAt => $composableBuilder(
column: $table.createdAt, builder: (column) => ColumnOrderings(column));
@ -3288,9 +3295,6 @@ class $$SessionActivitiesTableAnnotationComposer
GeneratedColumn<String> get results =>
$composableBuilder(column: $table.results, builder: (column) => column);
GeneratedColumn<String> get achievements => $composableBuilder(
column: $table.achievements, builder: (column) => column);
GeneratedColumn<DateTime> get createdAt =>
$composableBuilder(column: $table.createdAt, builder: (column) => column);
@ -3365,7 +3369,6 @@ class $$SessionActivitiesTableTableManager extends RootTableManager<
Value<int> activityId = const Value.absent(),
Value<int> position = const Value.absent(),
Value<String?> results = const Value.absent(),
Value<String?> achievements = const Value.absent(),
Value<DateTime> createdAt = const Value.absent(),
}) =>
SessionActivitiesCompanion(
@ -3374,7 +3377,6 @@ class $$SessionActivitiesTableTableManager extends RootTableManager<
activityId: activityId,
position: position,
results: results,
achievements: achievements,
createdAt: createdAt,
),
createCompanionCallback: ({
@ -3383,7 +3385,6 @@ class $$SessionActivitiesTableTableManager extends RootTableManager<
required int activityId,
required int position,
Value<String?> results = const Value.absent(),
Value<String?> achievements = const Value.absent(),
Value<DateTime> createdAt = const Value.absent(),
}) =>
SessionActivitiesCompanion.insert(
@ -3392,7 +3393,6 @@ class $$SessionActivitiesTableTableManager extends RootTableManager<
activityId: activityId,
position: position,
results: results,
achievements: achievements,
createdAt: createdAt,
),
withReferenceMapper: (p0) => p0