diff --git a/mnemo_cards_backend/lib/database/database.dart b/mnemo_cards_backend/lib/database/database.dart index 57ecf9f..f222448 100644 --- a/mnemo_cards_backend/lib/database/database.dart +++ b/mnemo_cards_backend/lib/database/database.dart @@ -32,6 +32,7 @@ import 'daos/promo_code_dao.dart'; import 'daos/discount_dao.dart'; import 'daos/statistics_dao.dart'; import 'daos/achievement_dao.dart'; +import 'postgres_constants.dart'; // Сгенерированный код будет здесь part 'database.g.dart'; diff --git a/mnemo_cards_backend/lib/database/database.g.dart b/mnemo_cards_backend/lib/database/database.g.dart index ecbce88..3255287 100644 --- a/mnemo_cards_backend/lib/database/database.g.dart +++ b/mnemo_cards_backend/lib/database/database.g.dart @@ -92,7 +92,7 @@ class $UsersTable extends Users with TableInfo<$UsersTable, User> { false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _updatedAtMeta = const VerificationMeta( 'updatedAt', @@ -104,7 +104,7 @@ class $UsersTable extends Users with TableInfo<$UsersTable, User> { false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _isDeletedMeta = const VerificationMeta( 'isDeleted', @@ -723,7 +723,7 @@ class $UserDatasTable extends UserDatas false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _lastTestSessionTokenMeta = const VerificationMeta('lastTestSessionToken'); @@ -809,7 +809,7 @@ class $UserDatasTable extends UserDatas false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _updatedAtMeta = const VerificationMeta( 'updatedAt', @@ -821,7 +821,7 @@ class $UserDatasTable extends UserDatas false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); @override List get $columns => [ @@ -1720,7 +1720,7 @@ class $TokensTable extends Tokens with TableInfo<$TokensTable, Token> { false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _expiresMeta = const VerificationMeta( 'expires', @@ -2135,7 +2135,7 @@ class $RefreshTokensTable extends RefreshTokens false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _expiresAtMeta = const VerificationMeta( 'expiresAt', @@ -2586,7 +2586,7 @@ class $TelegramAuthCodesTable extends TelegramAuthCodes false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _expiresAtMeta = const VerificationMeta( 'expiresAt', @@ -3285,7 +3285,7 @@ class $CardPacksTable extends CardPacks false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _updatedAtMeta = const VerificationMeta( 'updatedAt', @@ -3297,7 +3297,7 @@ class $CardPacksTable extends CardPacks false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _isDeletedMeta = const VerificationMeta( 'isDeleted', @@ -4267,7 +4267,7 @@ class $GameCardsTable extends GameCards false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _updatedAtMeta = const VerificationMeta( 'updatedAt', @@ -4279,7 +4279,7 @@ class $GameCardsTable extends GameCards false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _isDeletedMeta = const VerificationMeta( 'isDeleted', @@ -4973,7 +4973,7 @@ class $VoiceModelsTable extends VoiceModels false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); @override List get $columns => [ @@ -5312,7 +5312,7 @@ class $UserPacksTable extends UserPacks false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _grantTypeMeta = const VerificationMeta( 'grantType', @@ -6431,7 +6431,7 @@ class $SubscriptionPlansTable extends SubscriptionPlans false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _updatedAtMeta = const VerificationMeta( 'updatedAt', @@ -6443,7 +6443,7 @@ class $SubscriptionPlansTable extends SubscriptionPlans false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _isDeletedMeta = const VerificationMeta( 'isDeleted', @@ -7062,7 +7062,7 @@ class $UserSubscriptionsTable extends UserSubscriptions false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _updatedAtMeta = const VerificationMeta( 'updatedAt', @@ -7074,7 +7074,7 @@ class $UserSubscriptionsTable extends UserSubscriptions false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); @override List get $columns => [ @@ -7541,7 +7541,7 @@ class $PaymentsTable extends Payments with TableInfo<$PaymentsTable, Payment> { false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); @override late final GeneratedColumnWithTypeConverter, String> products = @@ -7588,7 +7588,7 @@ class $PaymentsTable extends Payments with TableInfo<$PaymentsTable, Payment> { false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _updatedAtMeta = const VerificationMeta( 'updatedAt', @@ -7600,7 +7600,7 @@ class $PaymentsTable extends Payments with TableInfo<$PaymentsTable, Payment> { false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); @override List get $columns => [ @@ -8332,7 +8332,7 @@ class $TestsTable extends Tests with TableInfo<$TestsTable, Test> { false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _updatedAtMeta = const VerificationMeta( 'updatedAt', @@ -8344,7 +8344,7 @@ class $TestsTable extends Tests with TableInfo<$TestsTable, Test> { false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _isDeletedMeta = const VerificationMeta( 'isDeleted', @@ -8909,7 +8909,7 @@ class $TestQuestionsTable extends TestQuestions false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _updatedAtMeta = const VerificationMeta( 'updatedAt', @@ -8921,7 +8921,7 @@ class $TestQuestionsTable extends TestQuestions false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); @override List get $columns => [ @@ -9540,7 +9540,7 @@ class $TestStatisticsTable extends TestStatistics false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _createdAtMeta = const VerificationMeta( 'createdAt', @@ -9552,7 +9552,7 @@ class $TestStatisticsTable extends TestStatistics false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _updatedAtMeta = const VerificationMeta( 'updatedAt', @@ -9564,7 +9564,7 @@ class $TestStatisticsTable extends TestStatistics false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); @override List get $columns => [ @@ -10056,7 +10056,7 @@ class $TasksTable extends Tasks with TableInfo<$TasksTable, Task> { false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _updatedAtMeta = const VerificationMeta( 'updatedAt', @@ -10068,7 +10068,7 @@ class $TasksTable extends Tasks with TableInfo<$TasksTable, Task> { false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); @override List get $columns => [ @@ -10712,7 +10712,7 @@ class $UserTasksTable extends UserTasks false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _expiresAtMeta = const VerificationMeta( 'expiresAt', @@ -10789,7 +10789,7 @@ class $UserTasksTable extends UserTasks false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); @override List get $columns => [ @@ -11545,7 +11545,7 @@ class $UserTaskProgressesTable extends UserTaskProgresses false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _updatedAtMeta = const VerificationMeta( 'updatedAt', @@ -11557,7 +11557,7 @@ class $UserTaskProgressesTable extends UserTaskProgresses false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); @override List get $columns => [ @@ -11956,7 +11956,7 @@ class $UserTaskResultsTable extends UserTaskResults false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _createdAtMeta = const VerificationMeta( 'createdAt', @@ -11968,7 +11968,7 @@ class $UserTaskResultsTable extends UserTaskResults false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); @override List get $columns => [ @@ -12436,7 +12436,7 @@ class $PromoCodesCampaignsTable extends PromoCodesCampaigns false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _updatedAtMeta = const VerificationMeta( 'updatedAt', @@ -12448,7 +12448,7 @@ class $PromoCodesCampaignsTable extends PromoCodesCampaigns false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _isDeletedMeta = const VerificationMeta( 'isDeleted', @@ -13189,7 +13189,7 @@ class $PromoCodesTable extends PromoCodes false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _updatedAtMeta = const VerificationMeta( 'updatedAt', @@ -13201,7 +13201,7 @@ class $PromoCodesTable extends PromoCodes false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); @override List get $columns => [ @@ -13654,7 +13654,7 @@ class $DiscountCampaignsTable extends DiscountCampaigns false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _updatedAtMeta = const VerificationMeta( 'updatedAt', @@ -13666,7 +13666,7 @@ class $DiscountCampaignsTable extends DiscountCampaigns false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _isDeletedMeta = const VerificationMeta( 'isDeleted', @@ -14191,7 +14191,7 @@ class $DiscountsTable extends Discounts false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _updatedAtMeta = const VerificationMeta( 'updatedAt', @@ -14203,7 +14203,7 @@ class $DiscountsTable extends Discounts false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _isDeletedMeta = const VerificationMeta( 'isDeleted', @@ -14642,7 +14642,7 @@ class $DiscountUserDatasTable extends DiscountUserDatas false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); @override List get $columns => [discountId, userId, grantedAt]; @@ -15000,7 +15000,7 @@ class $StudySessionsTable extends StudySessions false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _updatedAtMeta = const VerificationMeta( 'updatedAt', @@ -15012,7 +15012,7 @@ class $StudySessionsTable extends StudySessions false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); @override List get $columns => [ @@ -15627,7 +15627,7 @@ class $UserAchievementsTable extends UserAchievements false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _progressMeta = const VerificationMeta( 'progress', @@ -15651,7 +15651,7 @@ class $UserAchievementsTable extends UserAchievements false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _updatedAtMeta = const VerificationMeta( 'updatedAt', @@ -15663,7 +15663,7 @@ class $UserAchievementsTable extends UserAchievements false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); @override List get $columns => [ @@ -16099,7 +16099,7 @@ class $ShareRequestsTable extends ShareRequests false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _createdAtMeta = const VerificationMeta( 'createdAt', @@ -16111,7 +16111,7 @@ class $ShareRequestsTable extends ShareRequests false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); static const VerificationMeta _updatedAtMeta = const VerificationMeta( 'updatedAt', @@ -16123,7 +16123,7 @@ class $ShareRequestsTable extends ShareRequests false, type: DriftSqlType.dateTime, requiredDuringInsert: false, - defaultValue: currentDateAndTime, + defaultValue: currentTimestamp, ); @override List get $columns => [ diff --git a/mnemo_cards_backend/lib/database/postgres_constants.dart b/mnemo_cards_backend/lib/database/postgres_constants.dart new file mode 100644 index 0000000..1195f29 --- /dev/null +++ b/mnemo_cards_backend/lib/database/postgres_constants.dart @@ -0,0 +1,5 @@ +import 'package:drift/drift.dart'; + +/// PostgreSQL-совместимое выражение для текущей даты и времени +/// Используется вместо currentDateAndTime, который использует SQLite-специфичную функцию strftime +const Expression currentTimestamp = CustomExpression('NOW()'); diff --git a/mnemo_cards_backend/lib/database/tables/achievements.dart b/mnemo_cards_backend/lib/database/tables/achievements.dart index 6f3f715..bf3a673 100644 --- a/mnemo_cards_backend/lib/database/tables/achievements.dart +++ b/mnemo_cards_backend/lib/database/tables/achievements.dart @@ -1,4 +1,5 @@ import 'package:drift/drift.dart'; +import '../postgres_constants.dart'; import 'users.dart'; /// Таблица UserAchievements - достижения пользователей @@ -11,14 +12,14 @@ class UserAchievements extends Table { TextColumn get achievementId => text()(); // When achievement was unlocked - DateTimeColumn get unlockedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get unlockedAt => dateTime().withDefault(currentTimestamp)(); // Progress (0.0 to 1.0) RealColumn get progress => real().withDefault(const Constant(1.0))(); // Audit - DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); - DateTimeColumn get updatedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); + DateTimeColumn get updatedAt => dateTime().withDefault(currentTimestamp)(); @override Set get primaryKey => {id}; diff --git a/mnemo_cards_backend/lib/database/tables/auth.dart b/mnemo_cards_backend/lib/database/tables/auth.dart index d383272..45df2ff 100644 --- a/mnemo_cards_backend/lib/database/tables/auth.dart +++ b/mnemo_cards_backend/lib/database/tables/auth.dart @@ -1,6 +1,7 @@ import 'package:drift/drift.dart'; import 'users.dart'; import '../converters.dart' show generateUuid; +import '../postgres_constants.dart'; /// Таблица Tokens - токены авторизации пользователей class Tokens extends Table { @@ -10,7 +11,7 @@ class Tokens extends Table { TextColumn get token => text().unique()(); TextColumn get externalUserId => text()(); - DateTimeColumn get created => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get created => dateTime().withDefault(currentTimestamp)(); DateTimeColumn get expires => dateTime()(); @override @@ -31,7 +32,7 @@ class RefreshTokens extends Table { BoolColumn get isBlacklisted => boolean().withDefault(const Constant(false))(); - DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); DateTimeColumn get expiresAt => dateTime()(); @override @@ -51,7 +52,7 @@ class TelegramAuthCodes extends Table { BoolColumn get isUsed => boolean().withDefault(const Constant(false))(); DateTimeColumn get usedAt => dateTime().nullable()(); - DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); DateTimeColumn get expiresAt => dateTime()(); @override diff --git a/mnemo_cards_backend/lib/database/tables/discounts.dart b/mnemo_cards_backend/lib/database/tables/discounts.dart index 87c2c54..6a2bede 100644 --- a/mnemo_cards_backend/lib/database/tables/discounts.dart +++ b/mnemo_cards_backend/lib/database/tables/discounts.dart @@ -1,5 +1,6 @@ import 'package:drift/drift.dart'; import '../converters.dart' show generateUuid, StringListConverter, JsonListConverter; +import '../postgres_constants.dart'; import 'users.dart'; /// Таблица DiscountCampaigns - кампании скидок @@ -20,8 +21,8 @@ class DiscountCampaigns extends Table { .map(const StringListConverter())(); // Audit - DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); - DateTimeColumn get updatedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); + DateTimeColumn get updatedAt => dateTime().withDefault(currentTimestamp)(); BoolColumn get isDeleted => boolean().withDefault(const Constant(false))(); @override @@ -42,8 +43,8 @@ class Discounts extends Table { .map(const JsonListConverter())(); // Audit - DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); - DateTimeColumn get updatedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); + DateTimeColumn get updatedAt => dateTime().withDefault(currentTimestamp)(); BoolColumn get isDeleted => boolean().withDefault(const Constant(false))(); @override @@ -55,7 +56,7 @@ class DiscountUserDatas extends Table { TextColumn get discountId => text().references(Discounts, #id, onDelete: KeyAction.cascade)(); TextColumn get userId => text().references(Users, #id, onDelete: KeyAction.cascade)(); - DateTimeColumn get grantedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get grantedAt => dateTime().withDefault(currentTimestamp)(); @override Set get primaryKey => {discountId, userId}; diff --git a/mnemo_cards_backend/lib/database/tables/packs.dart b/mnemo_cards_backend/lib/database/tables/packs.dart index 1c91c7b..da485a6 100644 --- a/mnemo_cards_backend/lib/database/tables/packs.dart +++ b/mnemo_cards_backend/lib/database/tables/packs.dart @@ -1,5 +1,6 @@ import 'package:drift/drift.dart'; import '../converters.dart' show generateUuid, IntListConverter, StringListConverter; +import '../postgres_constants.dart'; /// Таблица CardPacks - наборы карточек class CardPacks extends Table { @@ -35,8 +36,8 @@ class CardPacks extends Table { TextColumn get currency => text().withDefault(const Constant('RUB'))(); // Audit - DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); - DateTimeColumn get updatedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); + DateTimeColumn get updatedAt => dateTime().withDefault(currentTimestamp)(); BoolColumn get isDeleted => boolean().withDefault(const Constant(false))(); @override @@ -65,8 +66,8 @@ class GameCards extends Table { TextColumn get back => text().nullable()(); // дополнительный текст // Audit - DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); - DateTimeColumn get updatedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); + DateTimeColumn get updatedAt => dateTime().withDefault(currentTimestamp)(); BoolColumn get isDeleted => boolean().withDefault(const Constant(false))(); @override @@ -81,7 +82,7 @@ class VoiceModels extends Table { TextColumn get voiceUrl => text()(); // URL аудиофайла TextColumn get language => text()(); // язык озвучки - DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); @override Set get primaryKey => {id}; diff --git a/mnemo_cards_backend/lib/database/tables/payments.dart b/mnemo_cards_backend/lib/database/tables/payments.dart index 33ff7e2..02fff4f 100644 --- a/mnemo_cards_backend/lib/database/tables/payments.dart +++ b/mnemo_cards_backend/lib/database/tables/payments.dart @@ -1,5 +1,6 @@ import 'package:drift/drift.dart'; import '../converters.dart' show generateUuid, JsonListConverter, StringListConverter; +import '../postgres_constants.dart'; import 'users.dart'; /// Таблица Payments - платежи @@ -17,7 +18,7 @@ class Payments extends Table { TextColumn get externalToken => text().nullable()(); TextColumn get meta => text().nullable()(); - DateTimeColumn get date => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get date => dateTime().withDefault(currentTimestamp)(); // Продукты (JSON array) TextColumn get products => text() @@ -31,8 +32,8 @@ class Payments extends Table { BoolColumn get subscription => boolean().withDefault(const Constant(false))(); // Audit - DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); - DateTimeColumn get updatedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); + DateTimeColumn get updatedAt => dateTime().withDefault(currentTimestamp)(); @override Set get primaryKey => {id}; diff --git a/mnemo_cards_backend/lib/database/tables/promo_codes.dart b/mnemo_cards_backend/lib/database/tables/promo_codes.dart index de52c84..c9424bc 100644 --- a/mnemo_cards_backend/lib/database/tables/promo_codes.dart +++ b/mnemo_cards_backend/lib/database/tables/promo_codes.dart @@ -1,5 +1,6 @@ import 'package:drift/drift.dart'; import '../converters.dart' show generateUuid, JsonListConverter, StringListConverter; +import '../postgres_constants.dart'; import 'users.dart'; /// Таблица PromoCodesCampaigns - кампании промокодов @@ -30,8 +31,8 @@ class PromoCodesCampaigns extends Table { .map(const StringListConverter())(); // Audit - DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); - DateTimeColumn get updatedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); + DateTimeColumn get updatedAt => dateTime().withDefault(currentTimestamp)(); BoolColumn get isDeleted => boolean().withDefault(const Constant(false))(); @override @@ -50,8 +51,8 @@ class PromoCodes extends Table { TextColumn get userId => text().nullable().references(Users, #id, onDelete: KeyAction.cascade)(); // Audit - DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); - DateTimeColumn get updatedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); + DateTimeColumn get updatedAt => dateTime().withDefault(currentTimestamp)(); @override Set get primaryKey => {id}; diff --git a/mnemo_cards_backend/lib/database/tables/relations.dart b/mnemo_cards_backend/lib/database/tables/relations.dart index fa399e2..fb43291 100644 --- a/mnemo_cards_backend/lib/database/tables/relations.dart +++ b/mnemo_cards_backend/lib/database/tables/relations.dart @@ -1,4 +1,5 @@ import 'package:drift/drift.dart'; +import '../postgres_constants.dart'; import 'users.dart'; import 'packs.dart' show CardPacks, GameCards, VoiceModels; @@ -9,7 +10,7 @@ class UserPacks extends Table { TextColumn get packId => text().references(CardPacks, #id, onDelete: KeyAction.cascade)(); // Когда пользователь получил доступ к паку - DateTimeColumn get grantedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get grantedAt => dateTime().withDefault(currentTimestamp)(); // Как пользователь получил пак (purchase, promo, free, admin) TextColumn get grantType => text().withDefault(const Constant('purchase'))(); diff --git a/mnemo_cards_backend/lib/database/tables/statistics.dart b/mnemo_cards_backend/lib/database/tables/statistics.dart index 145885f..5420a3c 100644 --- a/mnemo_cards_backend/lib/database/tables/statistics.dart +++ b/mnemo_cards_backend/lib/database/tables/statistics.dart @@ -1,6 +1,7 @@ import 'package:drift/drift.dart'; import 'users.dart'; import '../converters.dart' show generateUuid; +import '../postgres_constants.dart'; /// Таблица StudySessions - сессии изучения class StudySessions extends Table { @@ -20,8 +21,8 @@ class StudySessions extends Table { TextColumn get testId => text().nullable()(); // Audit - DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); - DateTimeColumn get updatedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); + DateTimeColumn get updatedAt => dateTime().withDefault(currentTimestamp)(); @override Set get primaryKey => {id}; diff --git a/mnemo_cards_backend/lib/database/tables/subscriptions.dart b/mnemo_cards_backend/lib/database/tables/subscriptions.dart index 7447725..cab6194 100644 --- a/mnemo_cards_backend/lib/database/tables/subscriptions.dart +++ b/mnemo_cards_backend/lib/database/tables/subscriptions.dart @@ -1,6 +1,7 @@ import 'package:drift/drift.dart'; import '../converters.dart' show JsonMapConverter, JsonListConverter; +import '../postgres_constants.dart'; import 'users.dart'; /// Таблица SubscriptionPlans - планы подписки @@ -25,8 +26,8 @@ class SubscriptionPlans extends Table { TextColumn get paymentSystem => text()(); // enum as string // Audit - DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); - DateTimeColumn get updatedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); + DateTimeColumn get updatedAt => dateTime().withDefault(currentTimestamp)(); BoolColumn get isDeleted => boolean().withDefault(const Constant(false))(); @override @@ -47,8 +48,8 @@ class UserSubscriptions extends Table { .map(const JsonListConverter())(); // Audit - DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); - DateTimeColumn get updatedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); + DateTimeColumn get updatedAt => dateTime().withDefault(currentTimestamp)(); @override Set get primaryKey => {id}; diff --git a/mnemo_cards_backend/lib/database/tables/tasks.dart b/mnemo_cards_backend/lib/database/tables/tasks.dart index fc99034..28642b5 100644 --- a/mnemo_cards_backend/lib/database/tables/tasks.dart +++ b/mnemo_cards_backend/lib/database/tables/tasks.dart @@ -1,5 +1,6 @@ import 'package:drift/drift.dart'; import '../converters.dart' show generateUuid, JsonListConverter, JsonMapConverter, StringListConverter; +import '../postgres_constants.dart'; import 'users.dart'; /// Таблица Tasks - задачи системы @@ -17,8 +18,8 @@ class Tasks extends Table { DateTimeColumn get lastExecution => dateTime().nullable()(); // Audit - DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); - DateTimeColumn get updatedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); + DateTimeColumn get updatedAt => dateTime().withDefault(currentTimestamp)(); @override Set get primaryKey => {id}; @@ -39,7 +40,7 @@ class UserTasks extends Table { .withDefault(const Constant('[]')) .map(const JsonListConverter())(); - DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); DateTimeColumn get expiresAt => dateTime()(); DateTimeColumn get completedAt => dateTime().nullable()(); @@ -54,7 +55,7 @@ class UserTasks extends Table { TextColumn get imageUrl => text().nullable()(); // Audit - DateTimeColumn get updatedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get updatedAt => dateTime().withDefault(currentTimestamp)(); @override Set get primaryKey => {id}; @@ -71,8 +72,8 @@ class UserTaskProgresses extends Table { .withDefault(const Constant('{}')) .map(const JsonMapConverter())(); - DateTimeColumn get startedAt => dateTime().withDefault(currentDateAndTime)(); - DateTimeColumn get updatedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get startedAt => dateTime().withDefault(currentTimestamp)(); + DateTimeColumn get updatedAt => dateTime().withDefault(currentTimestamp)(); @override Set get primaryKey => {id}; @@ -89,10 +90,10 @@ class UserTaskResults extends Table { .withDefault(const Constant('{}')) .map(const JsonMapConverter())(); - DateTimeColumn get completedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get completedAt => dateTime().withDefault(currentTimestamp)(); // Audit - DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); @override Set get primaryKey => {id}; diff --git a/mnemo_cards_backend/lib/database/tables/telegram.dart b/mnemo_cards_backend/lib/database/tables/telegram.dart index e2acafa..fdcd58f 100644 --- a/mnemo_cards_backend/lib/database/tables/telegram.dart +++ b/mnemo_cards_backend/lib/database/tables/telegram.dart @@ -1,5 +1,6 @@ import 'package:drift/drift.dart'; import '../converters.dart' show generateUuid; +import '../postgres_constants.dart'; /// Таблица ShareRequests - запросы на шаринг через Telegram class ShareRequests extends Table { @@ -10,11 +11,11 @@ class ShareRequests extends Table { TextColumn get sharedCardId => text().nullable()(); - DateTimeColumn get requestedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get requestedAt => dateTime().withDefault(currentTimestamp)(); // Audit - DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); - DateTimeColumn get updatedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); + DateTimeColumn get updatedAt => dateTime().withDefault(currentTimestamp)(); @override Set get primaryKey => {id}; diff --git a/mnemo_cards_backend/lib/database/tables/tests.dart b/mnemo_cards_backend/lib/database/tables/tests.dart index 9dc55f8..e2cc527 100644 --- a/mnemo_cards_backend/lib/database/tables/tests.dart +++ b/mnemo_cards_backend/lib/database/tables/tests.dart @@ -1,5 +1,6 @@ import 'package:drift/drift.dart'; import '../converters.dart' show generateUuid, JsonMapConverter; +import '../postgres_constants.dart'; import 'packs.dart'; /// Таблица Tests - тесты @@ -14,8 +15,8 @@ class Tests extends Table { TextColumn get timeSubtitle => text().nullable()(); // Audit - DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); - DateTimeColumn get updatedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); + DateTimeColumn get updatedAt => dateTime().withDefault(currentTimestamp)(); BoolColumn get isDeleted => boolean().withDefault(const Constant(false))(); @override @@ -32,8 +33,8 @@ class TestQuestions extends Table { TextColumn get body => text()(); // Audit - DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); - DateTimeColumn get updatedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); + DateTimeColumn get updatedAt => dateTime().withDefault(currentTimestamp)(); @override Set get primaryKey => {id}; @@ -59,11 +60,11 @@ class TestStatistics extends Table { .withDefault(const Constant('{}')) .map(const JsonMapConverter())(); - DateTimeColumn get completedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get completedAt => dateTime().withDefault(currentTimestamp)(); // Audit - DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); - DateTimeColumn get updatedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); + DateTimeColumn get updatedAt => dateTime().withDefault(currentTimestamp)(); @override Set get primaryKey => {id}; diff --git a/mnemo_cards_backend/lib/database/tables/users.dart b/mnemo_cards_backend/lib/database/tables/users.dart index 4947a12..16319f2 100644 --- a/mnemo_cards_backend/lib/database/tables/users.dart +++ b/mnemo_cards_backend/lib/database/tables/users.dart @@ -1,5 +1,6 @@ import 'package:drift/drift.dart'; import '../converters.dart'; +import '../postgres_constants.dart'; /// Таблица Users - основная информация о пользователях class Users extends Table { @@ -18,8 +19,8 @@ class Users extends Table { .map(const StringListConverter())(); // Audit fields - DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); - DateTimeColumn get updatedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); + DateTimeColumn get updatedAt => dateTime().withDefault(currentTimestamp)(); BoolColumn get isDeleted => boolean().withDefault(const Constant(false))(); @override @@ -45,7 +46,7 @@ class UserDatas extends Table { // Временные метки DateTimeColumn get lastTimeOnline => dateTime().nullable()(); - DateTimeColumn get registrationDate => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get registrationDate => dateTime().withDefault(currentTimestamp)(); TextColumn get lastTestSessionToken => text().nullable()(); // Сложные структуры (JSON) @@ -74,8 +75,8 @@ class UserDatas extends Table { .map(const JsonMapConverter())(); // Audit - DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); - DateTimeColumn get updatedAt => dateTime().withDefault(currentDateAndTime)(); + DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); + DateTimeColumn get updatedAt => dateTime().withDefault(currentTimestamp)(); @override Set get primaryKey => {id};