{"id":26793098,"url":"https://github.com/strash/mony_notsoeasy_flutter","last_synced_at":"2025-07-30T17:34:17.133Z","repository":{"id":272897740,"uuid":"867416629","full_name":"strash/mony_notsoeasy_flutter","owner":"strash","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-30T19:31:48.000Z","size":3703,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-30T20:26:26.915Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/strash.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-04T03:00:34.000Z","updated_at":"2025-03-30T19:31:52.000Z","dependencies_parsed_at":"2025-02-15T16:27:15.059Z","dependency_job_id":"cb367cf9-974f-4a4b-9bb6-bf2fab8a29c6","html_url":"https://github.com/strash/mony_notsoeasy_flutter","commit_stats":null,"previous_names":["strash/mony_notsoeasy_flutter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/strash/mony_notsoeasy_flutter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strash%2Fmony_notsoeasy_flutter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strash%2Fmony_notsoeasy_flutter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strash%2Fmony_notsoeasy_flutter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strash%2Fmony_notsoeasy_flutter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/strash","download_url":"https://codeload.github.com/strash/mony_notsoeasy_flutter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strash%2Fmony_notsoeasy_flutter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267911514,"owners_count":24164461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-29T16:19:05.360Z","updated_at":"2025-07-30T17:34:16.906Z","avatar_url":"https://github.com/strash.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mony App\n\nДля работы потребуется [Just](https://github.com/casey/just).\n`just` - покажет список доступных команд. Все команды можно найти в **justfile**\nв корне проекта. Запускать команды можно из любого места в проекте.\n\n## Запуск проекта\n\n`just run` - запустит проект со всеми необходимыми настройками.\n\n## Обновление зависимостей\n\n`just update` - обновит зависимости до последней мажорной версии.\n\n## Build Runner\n\n`just build` - сгенерирует необходимые файлы.\n\n## Миграции\n\n### Создание миграции\n\n`just migrate \"my new cool migration\"` - создаст новый файл миграции по адресу\n**lib/data/database/migrations/m_1729646059_my_new_cool_migration.dart**. При\nудачном создании файла миграции отобразиться сообщение.\n\nВнутри файла создасться класс миграции, с двумя методами, которые нужно\nзаимплементить.\n```dart\nimport \"package:mony_app/data/database/migration_service.dart\";\nimport \"package:sqflite/sqflite.dart\";\n\nfinal class M1729646059MyNewCoolMigration extends BaseMigration {\n  @override\n  Future\u003cvoid\u003e up(Database db) async {\n    // действия при накатывании этой миграции\n  }\n\n  @override\n  Future\u003cvoid\u003e down(Database db) async {\n    // действия при откатывании этой миграции\n  }\n}\n```\n\nПосле этого в **lib/data/database/migration_service.dart** нужно добавить этот\nкласс в конец списка миграций.\n```dart\nfinal class MigrationService {\n  final List\u003cBaseMigration\u003e _migrations = [\n    M1728167641Init(),\n    M1728413017SecondMigration(),\n    // сюда\n    M1729646059MyNewCoolMigration(),\n  ];\n  // ...\n}\n```\n\nИ наконец, чтобы при следующем запуске накатилась новая миграция, нужно поднять\nверсию миграции в **.version** в корне проекта.\n`MIGRATE_VERSION=2` -\u003e `MIGRATE_VERSION=3`\n\nПосле этого запустить/перезапустить проект.\nПри запуске, если были изменения в миграциях, отобразиться сообщение об удачном\nприминении новых миграций.\n\n### Удаление миграции\n\nЧтобы удалить миграцию, нужно:\n- удалить класс миграции из массива миграций в сервисе **lib/data/database/migration_service.dart**\n- удалить сгенерированный файл миграции\n- удалить `export \"package:mony_app/data/database/migrations/\u003cназвание_файла\u003e.dart\"` из файла-бочки **lib/data/database/migrations/migrations.dart**\n- уменьшить версию миграций в файле **.version**\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrash%2Fmony_notsoeasy_flutter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstrash%2Fmony_notsoeasy_flutter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrash%2Fmony_notsoeasy_flutter/lists"}